KR101771332B1 - 스케일러블 비디오 코딩을 위한 인트라 예측 개선들 - Google Patents
스케일러블 비디오 코딩을 위한 인트라 예측 개선들 Download PDFInfo
- Publication number
- KR101771332B1 KR101771332B1 KR1020157006900A KR20157006900A KR101771332B1 KR 101771332 B1 KR101771332 B1 KR 101771332B1 KR 1020157006900 A KR1020157006900 A KR 1020157006900A KR 20157006900 A KR20157006900 A KR 20157006900A KR 101771332 B1 KR101771332 B1 KR 101771332B1
- Authority
- KR
- South Korea
- Prior art keywords
- video
- video unit
- unit
- enhancement layer
- layer
- Prior art date
Links
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/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- 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
- H04N19/33—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
-
- 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/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
-
- 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/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
-
- 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/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/117—Filters, e.g. for pre-processing or post-processing
-
- 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/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/129—Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
-
- 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/134—Methods 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/136—Incoming video signal characteristics or properties
-
- 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
- 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/18—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 a set of transform coefficients
-
- 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/187—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 a scalable video layer
-
- 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/42—Methods 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/423—Methods 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
-
- 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/46—Embedding additional information in the video signal during the compression process
-
- 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/59—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
-
- 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/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
소정의 양태들에 따른 비디오 정보를 코딩하기 위한 장치는 메모리 유닛 및 그 메모리 유닛과 통신하고 있는 프로세서를 포함한다. 메모리 유닛은 참조 계층 및 대응하는 향상 계층과 연관된 비디오 정보를 저장한다. 프로세서는, 제 1 가중 팩터에 의해 가중된 인트라 예측 값, 및 제 2 가중 팩터에 의해 가중된 참조 계층에서의 공동배치된 비디오 유닛의 값에 적어도 부분적으로 기초하여 향상 계층 내의 포지션에 포지셔닝된 비디오 유닛의 값을 결정하며, 인트라 예측 값은 향상 계층에서의 적어도 하나의 추가적인 비디오 유닛에 기초하여 결정되고, 공동배치된 비디오 유닛은 향상 계층에서의 비디오 유닛의 포지션에 대응하는 참조 계층에서의 포지션에 위치결정된다. 일부 실시형태들에서, 제 1 가중 팩터 및 제 2 가중 팩터 중 적어도 하나는 0 과 1 사이이다.
Description
본 개시물은 비디오 코딩에 관한 것이다.
디지털 비디오 능력들은 디지털 텔레비전들, 디지털 직접 브로드캐스트 시스템들, 무선 브로드캐스트 시스템들, 개인 휴대 정보 단말기들 (PDA들), 랩톱 또는 데스크톱 컴퓨터들, 태블릿 컴퓨터들, e북 (e-book) 리더들, 디지털 카메라들, 디지털 레코딩 디바이스들, 디지털 미디어 플레이어들, 비디오 게이밍 디바이스들, 비디오 게임 콘솔들, 셀룰러 또는 위성 라디오 전화기들, 소위 "스마트 폰들", 비디오 화상회의 디바이스들, 비디오 스트리밍 디바이스들 등을 포함하는 광범위한 디바이스들에 통합될 수 있다. 디지털 비디오 디바이스들은 MPEG-2, MPEG-4, ITU-T H.263, ITU-T H.264/MPEG-4, Part 10, 어드밴스드 비디오 코딩 (Advanced Video Coding; AVC) 에 의해 정의된 표준들, 현재 개발중인 고효율 비디오 코딩 (High Efficiency Video Coding; HEVC) 표준, 및 이러한 표준들의 확장들에서 설명되는 것들과 같은 비디오 코딩 기법들을 구현한다. 비디오 디바이스들은 이러한 비디오 코딩 기법들을 구현함으로써 디지털 비디오 정보를 보다 효율적으로 송신, 수신, 인코딩, 디코딩, 및/또는 저장할 수도 있다.
비디오 코딩 기법들은 비디오 시퀀스들에 내재하는 리던던시를 감소 또는 제거하기 위해 공간 (인트라-픽처) 예측 및/또는 시간 (인터-픽처) 예측을 포함한다. 블록 기반 비디오 코딩의 경우, 비디오 슬라이스 (예를 들어, 비디오 프레임 또는 비디오 프레임의 부분) 는 비디오 블록들로 파티셔닝될 수도 있고, 그 비디오 블록들은 또한 트리블록들, 코딩 유닛들 (CU들) 및/또는 코딩 노드들로 지칭될 수도 있다. 픽처의 인트라-코딩된 (I) 슬라이스 내의 비디오 블록들은 동일한 픽처에서의 이웃하는 블록들 내의 참조 샘플들에 대하여 공간 예측을 이용하여 인코딩된다. 픽처의 인터-코딩된 (P 또는 B) 슬라이스 내의 비디오 블록들은 동일한 픽처에서의 이웃하는 블록들 내의 참조 샘플들에 대하여 공간 예측을 이용하거나 또는 다른 참조 픽처들 내의 참조 샘플들에 대하여 시간 예측을 이용할 수도 있다. 픽처들은 프레임들로 지칭될 수도 있고, 참조 픽처들은 참조 프레임들로 지칭될 수도 있다.
공간 또는 시간 예측은 코딩될 블록에 대한 예측 블록을 초래한다. 잔차 데이터 (residual data) 는 코딩될 원래의 블록과 예측 블록 간의 픽셀 차이들을 나타낸다. 인터-코딩된 블록은 예측 블록을 형성하는 참조 샘플들의 블록을 가리키는 모션 벡터, 및 코딩된 블록과 예측 블록 간의 차이를 나타내는 잔차 데이터에 따라 인코딩된다. 인트라-코딩된 블록은 인트라-코딩 모드 및 잔차 데이터에 따라 인코딩된다. 추가 압축을 위해, 잔차 데이터는 픽셀 도메인으로부터 변환 도메인으로 변환되어, 후에 양자화될 수도 있는 잔차 변환 계수들을 초래할 수도 있다. 처음에 2 차원 어레이로 배열된, 양자화된 변환 계수들은 변환 계수들의 1 차원 벡터를 생성하기 위하여 스캔될 수도 있으며, 엔트로피 코딩이 더 많은 압축을 달성하기 위해 적용될 수도 있다.
일반적으로, 일부 양태들에서, 본 개시물은 상이한 기법들 또는 모드들을 이용하여 비디오 유닛 값을 예측하고, 그 비디오 유닛 값을 결정하기 위해 각각의 모드 계산에 가중 팩터를 적용하는 것에 관련된 기법들을 설명한다. 일부 실시형태들에서, 가중 팩터들은 미리결정되고 비디오 비트스트림으로 코딩될 수도 있다. 일부 실시형태들에서, 가중 팩터들은 연관된 블록 내의 비디오 유닛의 포지션에 기초하여 결정된다. 예를 들어, 가중 팩터들은 블록 내의 비디오 유닛의 포지션에 기초한 가중 팩터들의 미리결정된 리스트 또는 그룹으로부터 선택될 수도 있다. 다른 실시형태에서, 가중 팩터들은 비디오 블록 포지션 정보를 이용함으로써 계산된다. 하나의 실시형태에서, 비디오 유닛 (예를 들어, 픽셀) 이 블록의 상부 (top) 및/또는 좌측 (left) 에지에 가까울수록, 가중 유닛은 인트라 예측 모드와 더 크게 연관된다. 다른 실시형태에서, 비디오 유닛이 블록의 상부 및 좌측 에지로부터 더 멀리 있을수록, 가중 유닛은 인트라 BL 예측 모드와 더 크게 연관된다.
소정의 양태들에 따른 비디오 정보를 코딩하기 위한 장치는 메모리 유닛 및 그 메모리 유닛과 통신하고 있는 프로세서를 포함한다. 메모리 유닛은 참조 계층 (reference layer) 및 대응하는 향상 계층 (enhancement layer) 과 연관된 비디오 정보를 저장한다. 프로세서는, 제 1 가중 팩터에 의해 가중된 인트라 예측 값, 및 제 2 가중 팩터에 의해 가중된 참조 계층에서의 공동배치된 (co-located) 비디오 유닛의 값에 적어도 부분적으로 기초하여 향상 계층 내의 포지션에 포지셔닝된 비디오 유닛의 값을 결정하며, 인트라 예측 값은 향상 계층에서의 적어도 하나의 추가적인 비디오 유닛에 기초하여 결정되고, 공동배치된 비디오 유닛은 향상 계층에서의 비디오 유닛의 포지션에 대응하는 참조 계층에서의 포지션에 위치결정된다. 일부 실시형태들에서, 제 1 가중 팩터 및 제 2 가중 팩터 중 적어도 하나는 0 과 1 사이이다.
소정의 양태들에 따른 비디오 정보를 코딩하기 위한 장치는 메모리 유닛 및 그 메모리 유닛과 통신하고 있는 프로세서를 포함한다. 메모리 유닛은 참조 계층 및 대응하는 향상 계층 (EL) 과 연관된 비디오 정보를 저장한다. 프로세서는 참조 계층에서의 복수의 픽셀들의 평균 값에 적어도 부분적으로 기초하여 EL 에서의 픽셀의 예측 값을 결정한다.
소정의 양태들에 따른 비디오 정보를 코딩하기 위한 장치는 메모리 유닛 및 그 메모리 유닛과 통신하고 있는 프로세서를 포함한다. 메모리 유닛은 향상 계층과 연관된 비디오 정보를 저장한다. 프로세서는 비디오 유닛이 픽셀 값일 때 비디오 유닛 및 그 비디오 유닛에 인접하는 적어도 하나의 추가적인 비디오 유닛에 평활화 필터 (smoothing filter) 를 적용한다.
소정의 양태들에 따른 비디오 정보를 코딩하기 위한 장치는 메모리 유닛 및 그 메모리 유닛과 통신하고 있는 프로세서를 포함한다. 메모리 유닛은 향상 계층과 대응하는 참조 계층 간의 차이로부터 도출되는 픽셀 정보의 차이 비디오 계층과 연관된 차이 비디오 정보를 저장한다. 제 1 공간 해상도는 향상 계층과 연관되고, 제 2 공간 해상도는 참조 계층과 연관된다. 프로세서는, 제 1 공간 해상도가 제 2 공간 해상도와 동일하지 않을 때 차이 비디오 계층에 적어도 부분적으로 기초하여 향상 계층 내의 포지션에 포지셔닝된 비디오 유닛의 값을 결정한다. 프로세서는 또한, 제 1 공간 해상도가 제 2 공간 해상도와 동일할 때 차이 비디오 계층에 적어도 부분적으로 기초하여 비디오 유닛의 값을 결정하는 것을 억제한다.
하나 이상의 예들의 상세들은 첨부 도면들 및 이하의 설명에서 기재된다. 다른 특징들, 목적들, 및 이점들은 설명 및 도면들로부터, 그리고 청구항들로부터 명백해질 것이다.
도 1 은 본 개시물에서 설명된 양태들에 따른 기법들을 활용할 수도 있는 일 예의 비디오 인코딩 및 디코딩 시스템을 예시하는 블록도이다.
도 2 는 본 개시물에서 설명된 양태들에 따른 기법들을 구현할 수도 있는 비디오 인코더의 일 예를 예시하는 블록도이다.
도 3 은 본 개시물에서 설명된 양태들에 따른 기법들을 구현할 수도 있는 비디오 디코더의 일 예를 예시하는 블록도이다.
도 4 는 비디오 코더의 일 예를 예시하는 블록도이다.
도 5 는 인트라 예측을 위한 다양한 모드들을 예시한다.
도 6 은 예측 프로세스를 예시하는 블록도이다.
도 7 은 현재의 예측 유닛 및 그 이웃하는 유닛들을 예시하는 블록도이다.
도 8 은 향상 계층 차이 도메인 코딩 및 정규 픽셀 도메인 코딩을 예시하는 블록도이다.
도 9 는 차이 도메인 예측을 결정하기 위한 이웃하는 값들의 이용을 예시하는 블록도이다.
도 10 은 가중된 평면 인트라 예측 모드 구현의 블록도이다.
도 11 은 가중된 평면 인트라 예측 모드 구현의 다른 실시형태의 블록도이다.
도 12 는 가중된 평면 인트라 예측 모드 구현의 다른 실시형태의 블록도이다.
도 13 은 가중된 평면 인트라 예측 모드 구현의 다른 실시형태의 블록도이다.
도 14 는 DC 예측 모드의 일 구현을 예시하는 블록도이다.
도 15 는 본 개시물의 양태들에 따른 가중된 평면 인트라 예측을 위한 일 예의 방법을 예시하는 플로우차트이다.
도 16 은 본 개시물의 양태들에 따른 가중된 평면 인트라 예측을 위한 일 예의 방법을 예시하는 플로우차트이다.
도 17 은 본 개시물의 양태들에 따른 가중된 평면 인트라 예측을 위한 일 예의 방법을 예시하는 플로우차트이다.
도 18 은 본 개시물의 양태들에 따른 가중된 평면 인트라 예측을 위한 일 예의 방법을 예시하는 플로우차트이다.
도 19 는 평면 인트라 예측 모드의 일 예를 예시한다.
도 20 은 스케일러블 비디오 코딩을 위한 평면 모드 인트라 예측 확장의 하나의 실시형태를 예시한다.
도 21 은 기본 및 향상 계층 예측 샘플들의 조합을 이용한 향상 계층 인트라 예측의 하나의 실시형태를 예시한다.
도 22 는 차이 도메인 인트라 예측에서의 제안된 인트라 잔차 예측 모드의 하나의 실시형태를 예시한다.
도 23 은 45 도 인트라 예측 방향에 대한 일 예의 1-D 방향 변환을 예시한다.
도 24a 는 인트라 DC 예측을 위한 필터링의 하나의 실시형태를 예시한다.
도 24b 는 수직 및/또는 수평 예측 모드들에 대한 필터링의 하나의 실시형태를 예시한다.
도 2 는 본 개시물에서 설명된 양태들에 따른 기법들을 구현할 수도 있는 비디오 인코더의 일 예를 예시하는 블록도이다.
도 3 은 본 개시물에서 설명된 양태들에 따른 기법들을 구현할 수도 있는 비디오 디코더의 일 예를 예시하는 블록도이다.
도 4 는 비디오 코더의 일 예를 예시하는 블록도이다.
도 5 는 인트라 예측을 위한 다양한 모드들을 예시한다.
도 6 은 예측 프로세스를 예시하는 블록도이다.
도 7 은 현재의 예측 유닛 및 그 이웃하는 유닛들을 예시하는 블록도이다.
도 8 은 향상 계층 차이 도메인 코딩 및 정규 픽셀 도메인 코딩을 예시하는 블록도이다.
도 9 는 차이 도메인 예측을 결정하기 위한 이웃하는 값들의 이용을 예시하는 블록도이다.
도 10 은 가중된 평면 인트라 예측 모드 구현의 블록도이다.
도 11 은 가중된 평면 인트라 예측 모드 구현의 다른 실시형태의 블록도이다.
도 12 는 가중된 평면 인트라 예측 모드 구현의 다른 실시형태의 블록도이다.
도 13 은 가중된 평면 인트라 예측 모드 구현의 다른 실시형태의 블록도이다.
도 14 는 DC 예측 모드의 일 구현을 예시하는 블록도이다.
도 15 는 본 개시물의 양태들에 따른 가중된 평면 인트라 예측을 위한 일 예의 방법을 예시하는 플로우차트이다.
도 16 은 본 개시물의 양태들에 따른 가중된 평면 인트라 예측을 위한 일 예의 방법을 예시하는 플로우차트이다.
도 17 은 본 개시물의 양태들에 따른 가중된 평면 인트라 예측을 위한 일 예의 방법을 예시하는 플로우차트이다.
도 18 은 본 개시물의 양태들에 따른 가중된 평면 인트라 예측을 위한 일 예의 방법을 예시하는 플로우차트이다.
도 19 는 평면 인트라 예측 모드의 일 예를 예시한다.
도 20 은 스케일러블 비디오 코딩을 위한 평면 모드 인트라 예측 확장의 하나의 실시형태를 예시한다.
도 21 은 기본 및 향상 계층 예측 샘플들의 조합을 이용한 향상 계층 인트라 예측의 하나의 실시형태를 예시한다.
도 22 는 차이 도메인 인트라 예측에서의 제안된 인트라 잔차 예측 모드의 하나의 실시형태를 예시한다.
도 23 은 45 도 인트라 예측 방향에 대한 일 예의 1-D 방향 변환을 예시한다.
도 24a 는 인트라 DC 예측을 위한 필터링의 하나의 실시형태를 예시한다.
도 24b 는 수직 및/또는 수평 예측 모드들에 대한 필터링의 하나의 실시형태를 예시한다.
본 개시물에서 설명된 기법들은 일반적으로 스케일러블 비디오 코딩 (scalable video coding; SVC) 및 3D 비디오 코딩에 관한 것이다. 예를 들어, 그 기법들은 고효율 비디오 코딩 (HEVC) 스케일러블 비디오 코딩 (SVC) 확장에 관련되고, 그 HEVC SVC 확장과 함께 이용되거나 또는 그 HEVC SVC 확장 내에서 이용될 수도 있다. HEVC SVC 확장은 또한 스케일러블 HEVC (SHVC) 로 지칭될 수도 있다. SVC 확장에 있어서, 비디오 정보의 다중 계층들이 존재할 수 있다. 맨 아래 레벨에 있는 계층은 기본 계층 (base layer; BL) 으로서 기능할 수도 있고, 맨 위에 있는 계층은 향상된 계층 (enhanced layer; EL) 으로서 기능할 수도 있다. "향상된 계층" 은 때때로 "향상 계층 (enhancement layer)" 으로 지칭되며, 이들 용어들은 상호교환가능하게 사용될 수도 있다. 중간에 있는 모든 계층들은 EL들 또는 BL들 중 어느 하나 또는 양자로서 기능할 수도 있다. 예를 들어, 중간에 있는 일 계층은 그 계층보다 아래에 있는 계층들, 이를 테면 기본 계층 또는 임의의 사이에 있는 향상 계층들에 대한 EL 일 수도 있고, 동시에 그 계층보다 위의 향상 계층들에 대한 BL 로서 기능할 수도 있다.
단지 예시를 목적으로, 본 개시물에서 설명된 기법들은 단 2 개의 계층들만 (예를 들어, 기본 계층과 같은 더 낮은 레벨 계층, 및 향상된 계층과 같은 더 높은 레벨 계층) 포함하는 예들로 설명된다. 본 개시물에서 설명된 예들은 물론 다수의 기본 계층들 및 향상 계층들을 가진 예들로 확장될 수 있는 것으로 이해되어야 한다.
비디오 코딩 표준들은 그 스케일러블 비디오 코딩 (SVC) 및 멀티뷰 비디오 코딩 (Multiview Video Coding; MVC) 확장들을 포함하는, ITU-T H.261, ISO/IEC MPEG-1 Visual, ITU-T H.262 또는 ISO/IEC MPEG-2 Visual, ITU-T H.263, ISO/IEC MPEG-4 Visual 및 ITU-T H.264 (ISO/IEC MPEG-4 AVC 로도 공지됨) 를 포함한다. 또한, 새로운 비디오 코딩 표준, 즉 고효율 비디오 코딩 (HEVC) 은, ITU-T 비디오 코딩 전문가 그룹 (Video Coding Experts Group; VCEG) 및 ISO/IEC 모션 픽처 전문자 그룹 (Motion Picture Experts Group; MPEG) 의 JCT-VC (Joint Collaboration Team on Video Coding) 에 의해 개발되고 있다. HEVC 의 최근의 초안 (draft) 은, 2012년 6월 7일자로, http://wg11.sc29.org/jct/doc_end_user/current_document.php?id=5885/JCTVC-I1003-v2 로부터 입수가능하다. "HEVC 규격 초안 (Working Draft) 7" 로 지칭되는 HEVC 표준의 다른 최근의 초안은, 2012년 6월 7일자로, http://phenix.it-sudparis.eu/jct/doc_end_user/documents/9_Geneva/wg11/JCTVC_I1003-v3.zip 으로부터 다운로드가능하다. HEVC 규격 초안 7 에 대한 완전 인용은 『document JCTVC-I1003, Bross et al., "High Efficiency Video Coding (HEVC) Text Specification Draft 7", Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 9th Meeting: Geneva, Switzerland, April 27, 2012 to May 7, 2012』 이다. "HEVC 규격 초안 (WD) 8" 로 지칭되는 HEVC 표준의 추가적인 최근의 초안은, http://phenix.int-evry.fr/jct/doc_end_user/documents/10_Stockholm/wg11/JCTVC-J1003-v8.zip 으로부터 입수가능하다. HEVC 표준의 다른 최근의 작업 버전은 JCTVT-N0041 이다. 승인된 HECV 사양은 http://www.itu.int/rec/T-REC-H.265-201304-I 에서 확인될 수 있다. 이들 참조들 각각은 참조에 의해 완전히 통합된다.
스케일러블 비디오 코딩 (SVC) 은 품질 (신호 대 잡음 (SNR) 으로도 지칭) 스케일러빌리티, 공간 스케일러빌리티 및/또는 시간 스케일러빌리티를 제공하기 위해 이용될 수도 있다. 향상된 계층은 기본 계층과는 상이한 공간 해상도를 가질 수도 있다. 예를 들어, EL 과 BL 간의 공간 애스펙트비는 1.0, 1.5, 2.0 또는 다른 상이한 비율들일 수 있다. 즉, EL 의 공간 애스펙트는 BL 의 공간 애스펙트의 1.0, 1.5, 또는 2.0 배와 동일할 수도 있다. 일부 예들에서, EL 의 스케일링 팩터는 BL 보다 더 클 수도 있다. 예를 들어, EL 에서의 픽처들의 사이즈는 BL 에서의 픽처들의 사이즈보다 더 클 수도 있다. 이렇게 하여, 제한하려는 것은 아니지만, EL 의 공간 해상도가 BL 의 공간 해상보다 더 크다는 것이 가능할 수도 있다.
향상 계층의 코딩 시에, 인트라 예측은 픽셀 도메인 또는 차이 도메인 중 어느 하나를 이용하여 수행될 수도 있다. 인트라 예측은 이웃하는 픽셀들 및 인트라 예측 모드에 기초한다. 인트라 예측 모드들의 일부 예들은 수직 모드, 수평 모드, DC 모드, 평면 모드, 각도 모드를 포함한다. 추가적인 인트라 예측 모드들이 또한 이용가능할 수도 있다. 예를 들어, HEVC 에 있어서, 18 개의 인트라 예측 모드들은 4x4 블록들에 대해 이용가능하고, 36 개의 인트라 예측 모드들은 8x8 블록들에 대해 이용가능하다. DC 모드에서, 이웃하는 픽셀 값들은 현재의 픽셀에 대한 인트라 예측에 이용된다.
SVC 에서, 차이 도메인은 향상 계층에서의 복원된 픽셀들에서 복원된 기본 계층 픽셀들을 감산함으로써 형성된 차이 픽셀들의 세트를 지칭할 수도 있으며, 또는 그 역도 마찬가지이다. 상기 설명한 바와 같이, 차이 도메인은 인트라 예측에 대해 이용될 수 있다. 차이 인트라 예측에서, 현재의 예측 유닛 (PU) 은 물론 이웃하는 차이 도메인 픽셀들은 대응하는 기본 계층 픽셀들에서 향상 계층 복원된 신호를 감산함으로써 생성되며, 또는 그 역도 마찬가지이다. (예측을 위해 이용된) 이웃하는 샘플들의 현재의 예측 픽셀들에 대한 상대 거리가 멀어질수록, 예측 오차는 커진다. 따라서, 샘플들이 좌측 및 상부 블록 경계에서 멀리 있는 경우, 향상 계층 이웃하는 예측 대신에 예측을 위해 (예를 들어, 기본 계층 내의 대응하는 포지션에 위치결정되는) 공동배치된 기본 계층 픽셀들을 이용하는 것이 바람직할 것이다.
본 개시물에서 설명된 기법들은 SVC 에서의 인트라 예측에 관한 이슈들을 다룰 수도 있다. 본 개시물에서 설명된 기법들은 차이 도메인에서 특히 적용가능할 수도 있다. 인트라 예측 및 인트라-BL 예측 모드들은 각각의 인트라 예측 및 인트라 BL 계산에 가중치를 적용함으로써 조합될 수도 있다. 각각의 가중치는 전체 예측 블록에 적용되는 고정 값을 가질 수도 있다. 각각의 가중치는 또한 적응적일 수도 있고, 또는 일부 다른 파라미터에 따라 개별적으로 결정될 수도 있다. 적응적 가중치 값은 예측 블록에서의 샘플 위치에 기초하여 결정될 수도 있다. 예를 들어, 좌측 및/또는 상부 경계에 가까운 샘플들에 대한 인트라 예측 가중치에 더 큰 가중치가 주어질 수 있고, 좌측 및 상부 경계로부터 멀리 있는 샘플들에 대한 인트라 BL 가중치에 더 큰 가중치가 주어질 수 있다.
본 개시물에서 설명된 기법들은 또한 SVC 에서의 상이한 도메인 인트라 예측에 관한 다른 이슈들을 다룰 수도 있다. DC 예측에서, 기법들은 현재의 픽셀의 값을 예측하는데 있어서 공동배치된 픽셀의 기본 계층 예측 유닛 픽셀들의 DC 값들을 이용할 수도 있다. 예를 들어, 공동배치된 기본 계층 픽셀들에 기초한 DC 값들은, 현재의 픽셀이 소정의 이웃들을 갖지 않는 경우, 또는 현재의 픽셀의 이웃하는 픽셀들이 이용불가능한 경우에 이용될 수도 있다. 그 기법들은 또한 차이 도메인 인트라 예측을 위해 이웃하는 픽셀들에 평활화 필터를 적용하지 않기로 선택할 수도 있다. 예를 들어, 평활화 필터는 HEVC 에서 제공된 모드 의존적 인트라 평활화 (Mode Dependent Intra Smoothing; MDIS) 를 통하여 적용될 수도 있다. 그 기법들은 또한 공간 스케일러빌리티 경우들에만 차이 도메인 인트라 예측을 이용하기로 선택할 수도 있다. 예를 들어, 차이 도메인 인트라 예측은 SNR (신호 대 잡음비), 또는 품질, 스케일러빌리티 경우들에 있어서 이용되지 않을 수도 있다.
신규한 시스템들, 장치들, 및 방법들의 다양한 양태들은 첨부 도면들을 참조하여 이하 더 완전히 설명된다. 그러나, 본 개시물은 다수의 상이한 형태들로 구현될 수도 있고, 본 개시물 전반에 걸쳐 제시된 임의의 특정 구조 또는 기능으로 제한되는 것처럼 해석되어서는 안된다. 오히려, 이들 양태들은 본 개시물이 완벽하고 완전하며, 본 개시물의 범위를 당업자에게 완전히 전달하도록 하기 위해 제공된다. 본 명세서에서의 교시들에 기초하여, 당업자는, 본 발명의 임의의 다른 양태에 독립적으로 구현되든, 또는 본 발명의 임의의 다른 양태와 조합되든 간에, 본 개시물의 범위가 본 명세서에 개시된 신규한 시스템들, 장치들, 및 방법들의 임의의 양태를 커버하는 것으로 의도된다는 것을 알아야 한다. 예를 들어, 본 명세서에 기재된 임의의 수의 양태들을 이용하여 일 장치가 구현될 수도 있고 또는 일 방법이 실시될 수도 있다. 또한, 본 발명의 범위는 본 명세서에 기재된 본 발명의 다양한 양태들에 더하여 또는 이들 양태들 이외에 다른 구조, 기능성, 또는 구조와 기능성을 이용하여 실시되는 그러한 장치 또는 방법을 커버하는 것으로 의도된다. 본 명세서에 개시된 임의의 양태는 청구항의 하나 이상의 엘리먼트들에 의해 구현될 수도 있다는 것이 이해되어야 한다.
특정 양태들이 본 명세서에서 설명되지만, 이들 양태들의 다수의 변화들 및 치환들이 본 개시물의 범위에 들어간다. 선호된 양태들의 일부 이익들 및 이점들이 언급되지만, 본 개시물의 범위는 특정 이익들, 이용들, 또는 목적들에 제한되는 것으로 의도되지 않는다. 오히려, 본 개시물의 양태들은 일부가 도면들에서 및 다음의 바람직한 양태들의 설명에서 일 예로 예시되는, 상이한 무선 기술들, 시스템 구성 (configuration) 들, 네트워크들, 및 송신 프로토콜들에 광범위하게 적용가능한 것으로 의도된다. 상세한 설명 및 도면들은 제한하기 보다는 본 개시물을 단지 예시할 뿐이며, 본 개시물의 범위는 첨부된 청구항들 및 이들의 등가물들에 의해 정의된다.
도 1 은 본 개시물에서 설명된 양태들에 따른 기법들을 활용할 수도 있는 일 예의 비디오 인코딩 및 디코딩 시스템을 예시하는 블록도이다. 도 1 에 도시한 바와 같이, 시스템 (10) 은 목적지 디바이스 (14) 에 의해 추후에 디코딩될 인코딩된 비디오 데이터를 제공하는 소스 디바이스 (12) 를 포함한다. 특히, 소스 디바이스 (12) 는 컴퓨터 판독가능 매체 (16) 를 통해 비디오 데이터를 목적지 디바이스 (14) 에 제공한다. 소스 디바이스 (12) 및 목적지 디바이스 (14) 는, 데스크톱 컴퓨터들, 노트북 (예를 들어, 랩톱) 컴퓨터들, 태블릿 컴퓨터들, 셋톱 박스들, 전화기 핸드셋들, 이를 테면 소위 "스마트" 폰들, 소위 "스마트" 패드들, 텔레비전들, 카메라들, 디스플레이 디바이스들, 디지털 미디어 플레이어들, 비디오 게이밍 콘솔들, 비디오 스트리밍 디바이스 등을 포함하는 광범위한 디바이스들 중 임의의 것을 포함할 수도 있다. 일부 경우들에서, 소스 디바이스 (12) 및 목적지 디바이스 (14) 는 무선 통신을 위해 갖춰져 있을 수도 있다.
목적지 디바이스 (14) 는 컴퓨터 판독가능 매체 (16) 를 통해 디코딩될 인코딩된 비디오 데이터를 수신할 수도 있다. 컴퓨터 판독가능 매체 (16) 는 인코딩된 비디오 데이터를 소스 디바이스 (12) 로부터 목적지 디바이스 (14) 로 이동가능한 임의의 타입의 매체 또는 디바이스를 포함할 수도 있다. 하나의 예에서, 컴퓨터 판독가능 매체 (16) 는 소스 디바이스 (12) 로 하여금, 인코딩된 비디오 데이터를 직접 목적지 디바이스 (14) 에 실시간으로 송신하는 것을 가능하게 하기 위한 통신 매체를 포함할 수도 있다. 인코딩된 비디오 데이터는 통신 표준, 이를 테면 무선 통신 프로토콜에 따라 변조되고, 목적지 디바이스 (14) 에 송신될 수도 있다. 통신 매체는 임의의 무선 또는 유선 통신 매체, 이를 테면 무선 주파수 (RF) 스펙트럼 또는 하나 이상의 물리 송신 라인들을 포함할 수도 있다. 통신 매체는 로컬 영역 네트워크, 광역 네트워크, 또는 인터넷과 같은 글로벌 네트워크와 같은 패킷 기반 네트워크의 일부를 형성할 수도 있다. 통신 매체는 라우터들, 스위치들, 기지국들, 또는 소스 디바이스 (12) 로부터 목적지 디바이스 (14) 로의 통신을 용이하게 하는데 유용할 수도 있는 임의의 다른 장비를 포함할 수도 있다.
일부 예들에서, 인코딩된 데이터는 출력 인터페이스 (22) 로부터 저장 디바이스로 출력될 수도 있다. 유사하게, 인코딩된 데이터는 저장 디바이스로부터 입력 인터페이스에 의해 액세스될 수도 있다. 저장 디바이스는 다양한 분산된 또는 로컬로 액세스된 데이터 저장 매체들, 이를 테면 하드 드라이브, 블루-레이 디스크들, DVD들, CD-ROM들, 플래시 메모리, 휘발성 또는 불휘발성 메모리, 또는 인코딩된 비디오 데이터를 저장하기 위한 임의의 다른 적합한 디지털 저장 매체들 중 임의의 것을 포함할 수도 있다. 추가 예에서, 저장 디바이스는 소스 디바이스 (12) 에 의해 생성되는 인코딩된 비디오를 저장할 수도 있는 파일 서버 또는 다른 중간 저장 디바이스에 대응할 수도 있다. 목적지 디바이스 (14) 는 스트리밍 또는 다운로드를 통해 저장 디바이스로부터의 저장된 비디오 데이터에 액세스할 수도 있다. 파일 서버는 인코딩된 비디오 데이터를 저장하고 그 인코딩된 비디오 데이터를 목적지 디바이스 (14) 에 송신하는 것이 가능한 임의의 타입의 서버일 수도 있다. 예의 파일 서버들은 웹 서버 (예를 들어, 웹사이트용), FTP 서버, 네트워크 연결 스토리지 (NAS) 디바이스들, 또는 로컬 디스크 드라이브를 포함한다. 목적지 디바이스 (14) 는 인터넷 접속을 포함하는 임의의 표준 데이터 접속을 통하여 인코딩된 비디오 데이터에 액세스할 수도 있다. 이것은 파일 서버 상에 저장되는 인코딩된 비디오 데이터에 액세스하기에 적합한 무선 채널 (예를 들어, Wi-Fi 접속), 유선 접속 (예를 들어, DSL, 케이블 모뎀 등), 또는 양자의 조합을 포함할 수도 있다. 인코딩된 비디오 데이터의 저장 디바이스로부터의 송신은 스트리밍 송신, 다운로드 송신, 또는 이들의 조합일 수도 있다.
본 개시물의 기법들은 무선 애플리케이션들 또는 세팅들에 반드시 제한되는 것은 아니다. 그 기법들은 공중 경유 (over-the-air) 텔레비전 브로드캐스트들, 케이블 텔레비전 송신들, 위성 텔레비전 송신들, 인터넷 스트리밍 비디오 송신들, 이를 테면 DASH (dynamic adaptive streaming over HTTP), 데이터 저장 매체 상으로 인코딩되는 디지털 비디오, 데이터 저장 매체 상에 저장된 디지털 비디오의 디코딩, 또는 다른 애플리케이션들과 같은 다양한 멀티미디어 애플리케이션들 중 임의의 것을 지원하여 비디오 코딩에 적용될 수도 있다. 일부 예들에서, 시스템 (10) 은 비디오 스트리밍, 비디오 플레이백, 비디오 브로드캐스팅, 및/또는 화상 통화와 같은 애플리케이션들을 지원하기 위해 일방향 또는 양방향 비디오 송신을 지원하도록 구성될 수도 있다.
도 1 의 예에서, 소스 디바이스 (12) 는 비디오 소스 (18), 비디오 인코더 (20), 및 출력 인터페이스 (22) 를 포함한다. 목적지 디바이스 (14) 는 입력 인터페이스 (28), 비디오 디코더 (30), 및 디스플레이 디바이스 (32) 를 포함한다. 본 개시물에 따라, 소스 디바이스 (12) 의 비디오 인코더 (20) 는 다중 표준들 또는 표준 확장들에 따르는 비디오 데이터를 포함하는 비트스트림을 코딩하기 위한 기법들을 적용하도록 구성될 수도 있다. 다른 예들에서, 소스 디바이스 및 목적지 디바이스는 다른 컴포넌트들 또는 어레인지먼트들을 포함할 수도 있다. 예를 들어, 소스 디바이스 (12) 는 외부 카메라와 같은 외부 비디오 소스 (18) 로부터 비디오 데이터를 수신할 수도 있다. 마찬가지로, 목적지 디바이스 (14) 는 통합된 디스플레이 디바이스를 포함하기 보다는, 외부 디스플레이 디바이스와 인터페이스할 수도 있다.
도 1 의 예시된 시스템 (10) 은 단지 하나의 예일 뿐이다. 현재의 블록에 대한 모션 벡터 예측변수들에 대한 후보 리스트에 대한 후보들을 결정하기 위한 기법들은 임의의 디지털 비디오 인코딩 및/또는 디코딩 디바이스에 의해 수행될 수도 있다. 일반적으로 본 개시물의 기법들은 비디오 인코딩 디바이스에 의해 수행되지만, 그 기법들은 또한 통상 "CODEC" 으로 지칭되는 비디오 인코더/디코더에 의해 수행될 수도 있다. 더욱이, 본 개시물의 기법들은 또한 비디오 프리프로세서에 의해 수행될 수도 있다. 소스 디바이스 (12) 및 목적지 디바이스 (14) 는 단지, 소스 디바이스 (12) 가 목적지 디바이스 (14) 로의 송신을 위한 코딩된 비디오 데이터를 생성하는 그러한 코딩 디바이스들의 예들일 뿐이다. 일부 예들에서, 디바이스들 (12, 14) 은 디바이스들 (12, 14) 각각이 비디오 인코딩 및 디코딩 컴포넌트들을 포함하도록 실질적으로 대칭적인 방식으로 동작할 수도 있다. 따라서, 시스템 (10) 은 예를 들어, 비디오 스트리밍, 비디오 플레이백, 비디오 브로드캐스팅, 또는 화상 통화를 위해, 비디오 디바이스들 (12, 14) 간에 일방향 또는 양방향 비디오 송신을 지원할 수도 있다.
소스 디바이스 (12) 의 비디오 소스 (18) 는 비디오 캡처 디바이스, 이를 테면, 비디오 카메라, 이전에 캡처된 비디오를 포함하는 비디오 아카이브 (video archive), 및/또는 비디오 콘텐츠 제공자로부터 비디오를 수신하기 위한 비디오 피드 인터페이스를 포함할 수도 있다. 추가 대안으로서, 비디오 소스 (18) 는 소스 비디오로서, 또는 라이브 비디오, 아카이브된 비디오, 및 컴퓨터 생성된 비디오의 조합으로서 컴퓨터 그래픽 기반 데이터를 생성할 수도 있다. 일부 경우들에서, 비디오 소스 (18) 가 비디오 카메라인 경우, 소스 디바이스 (12) 및 목적지 디바이스 (14) 는 소위 카메라 폰들 또는 비디오 폰들을 형성할 수도 있다. 그러나, 상기 언급한 바와 같이, 본 개시물에서 설명된 기법들은 일반적으로 비디오 코딩에 적용가능할 수도 있으며, 무선 및/또는 유선 애플리케이션들에 적용될 수도 있다. 각각의 경우에, 캡처된, 사전 캡처된, 또는 컴퓨터 생성된 비디오는 비디오 인코더 (20) 에 의해 인코딩될 수도 있다. 인코딩된 비디오 정보는 그 후 출력 인터페이스 (22) 에 의해 컴퓨터 판독가능 매체 (16) 상으로 출력될 수도 있다.
컴퓨터 판독가능 매체 (16) 는 트랜지언트 매체들 (transient media), 이를 테면 무선 브로드캐스트 또는 유선 네트워크 송신, 또는 저장 매체들 (즉, 비일시적 저장 매체들), 이를 테면 하드 디스크, 플래시 드라이브, 콤팩트 디스크, 디지털 비디오 디스크, 블루-레이 디스크, 또는 다른 컴퓨터 판독가능 매체들을 포함할 수도 있다. 일부 예들에서, 네트워크 서버 (미도시) 는 소스 디바이스 (12) 로부터 인코딩된 비디오 데이터를 수신하고 그 인코딩된 비디오 데이터를 예를 들어 네트워크 송신, 직접 유선 통신 등을 통해 목적지 디바이스 (14) 에 제공할 수도 있다. 유사하게, 디스크 스탬핑 시설 (disc stamping facility) 과 같은 매체 생산 시설 (medium production facility) 의 컴퓨팅 디바이스는 소스 디바이스 (12) 로부터 인코딩된 비디오 데이터를 수신하고 그 인코딩된 비디오 데이터를 포함하는 디스크를 생산할 수도 있다. 따라서, 컴퓨터 판독가능 매체 (16) 는 다양한 예들에서 다양한 형태들의 하나 이상의 컴퓨터 판독가능 매체들을 포함하는 것으로 이해될 수도 있다.
목적지 디바이스 (14) 의 입력 인터페이스 (28) 는 컴퓨터 판독가능 매체 (16) 로부터 정보를 수신한다. 컴퓨터 판독가능 매체 (16) 의 정보는 비디오 인코더 (20) 에 의해 정의된 신택스 정보를 포함할 수도 있으며, 그 신택스 정보는 비디오 디코더 (30) 에 의해서도 이용되고 블록들 및 다른 코딩된 유닛들, 예를 들어 GOP들의 특성들 및/또는 프로세싱을 설명하는 신택스 엘리먼트들을 포함한다. 디스플레이 디바이스 (32) 는 인코딩된 비디오 데이터를 사용자에게 디스플레이하며, 다양한 디스플레이 디바이스들, 이를 테면 음극선관 (CRT), 액정 디스플레이 (LCD), 플라즈마 디스플레이, 유기 발광 다이오드 (OLED) 디스플레이, 또는 다른 타입의 디스플레이 디바이스 중 임의의 것을 포함할 수도 있다.
비디오 인코더 (20) 및 비디오 디코더 (30) 는 현재 개발중인 고효율 비디오 코딩 (HEVC) 표준과 같은 비디오 코딩 표준에 따라 동작할 수도 있고, HEVC 테스트 모델 (HM) 에 따를 수도 있다. 대안으로, 비디오 인코더 (20) 및 비디오 디코더 (30) 는 대안으로는 MPEG-4, Part 10, 어드밴스드 비디오 코딩 (AVC) 으로 지칭되는 ITU-T H.264 표준과 같은 다른 독점 또는 산업 표준들, 또는 이러한 표준들의 확장들에 따라 동작할 수도 있다. 그러나, 본 개시물의 기법들은 상기 열거된 표준들 중 임의의 표준을 포함하지만 이들에 제한되지는 않는 임의의 특정 코딩 표준에 제한되지는 않는다. 비디오 코딩 표준들의 다른 예들은 MPEG-2 및 ITU-T H.263 을 포함한다. 도 1 에 도시하고 있지는 않지만, 일부 양태들에서, 비디오 인코더 (20) 및 비디오 디코더 (30) 는 각각 오디오 인코더 및 디코더와 통합될 수도 있고, 공통 데이터 스트림 또는 개별 데이터 스트림들에서 오디오 및 비디오 양자의 인코딩을 핸들링하기 위해, 적절한 MUX-DEMUX 유닛들, 또는 다른 하드웨어 및 소프트웨어를 포함할 수도 있다. 적용가능하다면, MUX-DEMUX 유닛들은 ITU H.223 멀티플렉서 프로토콜, 또는 사용자 데이터그램 프로토콜 (UDP) 과 같은 다른 프로토콜에 따를 수도 있다.
비디오 인코더 (20) 및 비디오 디코더 (30) 는 각각 하나 이상의 마이크로프로세서들, 디지털 신호 프로세서들 (DSP들), 주문형 집적 회로들 (ASIC들), 필드 프로그램가능 게이트 어레이들 (FPGA들), 별개의 로직, 소프트웨어, 하드웨어, 펌웨어 또는 이들의 임의의 조합들과 같은 다양한 적합한 인코더 회로 중 임의의 것으로서 구현될 수도 있다. 기법들이 소프트웨어로 부분적으로 구현될 때, 디바이스는 적합한, 비일시적 컴퓨터 판독가능 매체에 소프트웨어용 명령들을 저장하고, 그 명령들을 본 개시물의 기법들을 수행하기 위해 하나 이상의 프로세서들을 이용하는 하드웨어에서 실행할 수도 있다. 비디오 인코더 (20) 및 비디오 디코더 (30) 각각은 하나 이상의 인코더들 또는 디코더들에 포함될 수도 있으며, 이들 중 어느 하나는 각각의 디바이스에서 조합된 인코더/디코더 (CODEC) 의 일부로서 통합될 수도 있다. 비디오 인코더 (20) 및/또는 비디오 디코더 (30) 를 포함하는 디바이스는 집적 회로, 마이크로프로세서, 및/또는 셀룰러 전화기와 같은 무선 통신 디바이스를 포함할 수도 있다.
JCT-VC 는 HEVC 표준의 개발에 대해 연구중이다. HEVC 표준화 노력들은 HEVC 테스트 모델 (HM) 로 지칭되는 비디오 코딩 디바이스의 진화하는 모델에 기초한다. HM 은 예를 들어, ITU-T H.264/AVC 에 따르는 기존 디바이스들에 비해 비디오 코딩 디바이스들의 몇몇 추가적인 능력들을 추정한다. 예를 들어, H.264 는 9 개의 인트라-예측 인코딩 모드들을 제공하는 반면, HM 은 무려 33 개나 되는 인트라-예측 인코딩 모드들을 제공할 수도 있다.
일반적으로, HM 의 작업 모델은 비디오 프레임 또는 픽처가 루마 (luma) 샘플 및 크로마 (chroma) 샘플 양자를 포함하는 최대 코딩 유닛들 (largest coding units; LCU) 또는 트리블록들의 시퀀스로 분할될 수도 있다는 것을 설명한다. 비트스트림 내의 신택스 데이터는 픽셀들의 수의 관점에서 최대 코딩 유닛인 LCU 에 대한 사이즈를 정의할 수도 있다. 슬라이스는 코딩 순서로 다수의 연속되는 트리블록들을 포함한다. 비디오 프레임 또는 픽처는 하나 이상의 슬라이스들로 파티셔닝될 수도 있다. 각각의 트리블록은 쿼드트리에 따라 코딩 유닛들 (CU들) 로 스플리팅될 수도 있다. 일반적으로, 쿼드트리 데이터 구조는 CU 당 하나의 노드를 포함하며, 루트 노드는 트리블록에 대응한다. CU 가 4 개의 서브-CU들로 스플리팅되는 경우, 그 CU 에 대응하는 노드는 각각이 서브-CU들 중 하나에 대응하는 4 개의 리프 노드들을 포함한다.
쿼드트리 데이터 구조의 각각의 노드는 대응하는 CU 에 대한 신택스 데이터를 제공할 수도 있다. 예를 들어, 쿼드트리 내의 노드는, 그 노드에 대응하는 CU 가 서브-CU들로 스플리팅되는지 여부를 나타내는 스플릿 플래그 (split flag) 를 포함할 수도 있다. CU 에 대한 신택스 엘리먼트들은 재귀적으로 정의될 수도 있고, CU 가 서브-CU들로 스플리팅되는지 여부에 의존할 수도 있다. CU 가 추가로 스플리팅되지 않는다면, 그것은 리프-CU 로 지칭된다. 본 개시물에서, 리프-CU 의 4 개의 서브-CU들은 또한, 원래의 리프-CU 의 명시적 스플리팅이 존재하지 않는 경우라도 리프-CU들로 지칭될 것이다. 예를 들어, 16x16 사이즈의 CU 가 추가 스플리팅되지 않는다면, 4 개의 8x8 서브-CU들은 또한, 16x16 CU 가 절대 스플리팅되지 않았지만 리프-CU들로 지칭될 것이다.
CU 는, CU 가 사이즈 구분 (size distinction) 을 갖지 않는다는 점을 제외하고는, H.264 표준의 매크로블록과 유사한 목적을 갖는다. 예를 들어, 트리블록은 4 개의 자식 노드들 (서브-CU들로도 지칭) 로 스플리팅될 수도 있고, 각각의 자식 노드는 결국 부모 노드일 수도 있고 다른 4 개의 자식 노드들로 스플리팅될 수도 있다. 쿼드트리의 리프 노드로 지칭되는, 최종, 스플리팅되지 않은 자식 노드는 리프-CU 로도 지칭되는 코딩 노드를 포함한다. 코딩된 비트스트림과 연관된 신택스 데이터는 최대 CU 깊이로 지칭되는, 트리블록이 스플리팅될 수도 있는 최대 횟수를 정의할 수도 있으며, 또한 코딩 노드들의 최소 사이즈를 정의할 수도 있다. 따라서, 비트스트림은 또한 최소 코딩 유닛 (smallest coding unit; SCU) 을 정의할 수도 있다. 본 개시물은 HEVC 의 맥락에서, CU, PU, 또는 TU 중 임의의 것, 또는 다른 표준들의 맥락에서, 유사한 데이터 구조들 (예를 들어, H.264/AVC 에서 매크로블록들 및 그의 서브-블록들) 을 지칭하기 위해 용어 "블록" 을 사용한다.
CU 는 코딩 노드 및 그 코딩 유닛과 연관된 예측 유닛들 (PU들) 및 변환 유닛들 (TU들) 을 포함한다. CU 의 사이즈는 코딩 노드의 사이즈에 대응하며 형상이 정방형 (square) 이어야 한다. CU 의 사이즈는 8x8 픽셀들로부터 최대 64x64 픽셀들 이상인 트리블록의 사이즈까지의 범위에 이를 수도 있다. 각각의 CU 는 하나 이상의 PU들 및 하나 이상의 TU들을 포함할 수도 있다. CU 와 연관된 신택스 데이터는, 예를 들어 CU 의 하나 이상의 PU들로의 파티셔닝을 설명할 수도 있다. 파티셔닝 모드들은 CU 가 스킵 또는 직접 모드 인코딩되는지, 인트라-예측 모드 인코딩되는지, 또는 인터-예측 모드 인코딩되는지 여부 간에 상이할 수도 있다. PU들은 형상이 비정방형인 것으로 파티셔닝될 수도 있다. CU 와 연관된 신택스 데이터는 또한, 예를 들어 쿼드트리에 따라 CU 의 하나 이상의 TU들로의 파티셔닝을 설명할 수도 있다. TU 는 형상이 정방형 또는 비정방형 (non-square) (예를 들어, 장방형 (rectangular)) 일 수 있다.
HEVC 표준은 상이한 CU들에 대해 상이할 수도 있는 TU들에 따른 변환들을 허용한다. TU들은 통상 파티셔닝된 LCU 에 대해 정의된 주어진 CU 내의 PU들의 사이즈에 기초하여 사이징되지만, 이것이 항상 그런 것은 아닐 수도 있다. TU들은 통상 PU들과 동일한 사이즈이거나 PU들보다 더 작다. 일부 예들에서, CU 에 대응하는 잔차 샘플들은 "잔차 쿼드트리 (residual quad tree)" (RQT) 로 공지된 쿼드트리 구조를 이용하여 더 작은 유닛들로 서브분할될 수도 있다. RQT 의 리프 노드들은 변환 유닛들 (TU들) 로 지칭될 수도 있다. TU들과 연관된 픽셀 차이 값들은 변환 계수들을 생성하기 위해 변환될 수도 있으며, 이는 양자화될 수도 있다.
리프-CU 는 하나 이상의 예측 유닛 (PU들) 을 포함할 수도 있다. 일반적으로, PU 는 대응하는 CU 의 전부 또는 부분에 대응하는 공간 영역을 나타내며, PU 에 대한 참조 샘플을 취출하기 위한 데이터를 포함할 수도 있다. 더욱이, PU 는 예측에 관련된 데이터를 포함한다. 예를 들어, PU 가 인트라-모드 인코딩되는 경우, PU 에 대한 데이터는 잔차 쿼드트리 (RQT) 에 포함될 수도 있으며, 이는 PU 에 대응하는 TU 에 대한 인트라-예측 모드를 설명하는 데이터를 포함할 수도 있다. 다른 예로서, PU 가 인터-모드 인코딩되는 경우, PU 는 PU 에 대한 하나 이상의 모션 벡터들을 정의하는 데이터를 포함할 수도 있다. PU 에 대한 모션 벡터를 정의하는 데이터는, 예를 들어, 모션 벡터의 수평 컴포넌트, 모션 벡터의 수직 컴포넌트, 모션 벡터에 대한 해상도 (예를 들어, 1/4 픽셀 정밀도 또는 1/8 픽셀 정밀도), 모션 벡터가 가리키는 참조 픽처, 및/또는 모션 벡터에 대한 참조 픽처 리스트 (예를 들어, 리스트 0, 리스트 1, 또는 리스트 C) 를 설명할 수도 있다.
하나 이상의 PU들을 갖는 리프-CU 는 또한 하나 이상의 변환 유닛들 (TU들) 을 포함할 수도 있다. 변환 유닛들은 상기 논의한 바와 같이 RQT (TU 쿼드트리 구조로도 지칭) 를 이용하여 특정될 수도 있다. 예를 들어, 스플릿 플래그는 리프-CU 가 4 개의 변환 유닛들로 스플리팅되는지 여부를 나타낼 수도 있다. 그 후, 각각의 변환 유닛은 추가 서브-TU들로 추가 스플리팅될 수도 있다. TU 가 추가 스플리팅되지 않는 경우, 그것은 리프-TU 로 지칭될 수도 있다. 일반적으로, 인트라 코딩의 경우, 리프-CU 에 속하는 모든 리프-TU들은 동일한 인트라 예측 모드를 공유한다. 즉, 동일한 인트라-예측 모드가 일반적으로 리프-CU 의 모든 TU들에 대한 예측된 값들을 계산하기 위해 적용된다. 인트라 코딩의 경우, 비디오 인코더는 TU 에 대응하는 CU 의 부분과 원래의 블록 간의 차이로서, 인트라 예측 모드를 이용하는 각각의 리프-TU 에 대한 잔차 값을 계산할 수도 있다. TU 는 반드시 PU 의 사이즈에 제한되는 것은 아니다. 따라서, TU들은 PU 보다 더 크거나 더 작을 수도 있다. 인트라 코딩의 경우, PU 는 동일한 CU 에 대한 대응하는 리프-TU 와 병치 (collocate) 될 수도 있다. 일부 예들에서, 최대 사이즈의 리프-TU 는 대응하는 리프-CU 의 사이즈에 대응할 수도 있다.
더욱이, 리프-CU들의 TU들은 또한, 잔차 쿼드트리들 (RQT들) 로 지칭되는 각각의 쿼드트리 데이터 구조들과 연관될 수도 있다 즉, 리프-CU 는 리프-CU 가 TU들로 파티셔닝되는 방법을 나타내는 쿼드트리를 포함할 수도 있다. TU 쿼드트리의 루트 노드는 일반적으로 리프-CU 에 대응하는 한편, CU 쿼드트리의 루트 노드는 일반적으로 트리블록 (또는 LCU) 에 대응한다. 스플리팅되지 않은 RQT 의 TU들은 리프-TU들로 지칭된다. 일반적으로, 본 개시물은 다르게 언급하지 않는다면 리프-CU 및 리프-TU 를 각각 지칭하기 위해 용어 CU 및 용어 TU 를 사용한다.
비디오 시퀀스는 통상 일련의 비디오 프레임들 또는 픽처들을 포함한다. 픽처들의 그룹 (GOP) 은 일련의 하나 이상의 비디오 픽처들을 포함한다. GOP 는 GOP 의 헤더, 하나 이상의 픽처들의 헤더, 또는 다른 곳에, GOP 에 포함된 다수의 픽처들을 설명하는 신택스 데이터를 포함할 수도 있다. 픽처의 각각의 슬라이스는 각각의 슬라이스에 대한 인코딩 모드를 설명하는 슬라이스 신택스 데이터를 포함할 수도 있다. 비디오 인코더 (20) 는 통상 비디오 데이터를 인코딩하기 위하여 개개의 비디오 슬라이스들 내의 비디오 블록들에 대해 동작한다. 비디오 블록은 CU 내의 코딩 노드에 대응할 수도 있다. 비디오 블록들은 고정되거나 가변하는 사이즈들을 가질 수도 있고, 특정된 코딩 표준에 따라 사이즈가 상이할 수도 있다.
일 예로서, HM 은 다양한 PU 사이즈들에서의 예측을 지원한다. 특정 CU 의 사이즈가 2Nx2N 인 것을 가정하면, HM 은 2Nx2N 또는 NxN 의 PU 사이즈들에서의 인트라-예측, 및 2Nx2N, 2NxN, Nx2N, 또는 NxN 의 대칭적인 PU 사이즈들에서의 인터-예측을 지원한다. HM 은 또한 2NxnU, 2NxnD, nLx2N, 및 nRx2N 의 PU 사이즈들에서의 인터-예측을 위해 비대칭적인 파티셔닝을 지원한다. 비대칭적인 파티셔닝에서, CU 의 하나의 방향은 파티셔닝되지 않지만, 다른 방향은 25% 및 75% 로 파티셔닝된다. 25% 파티션에 대응하는 CU 의 부분은 "n" 다음에 "상 (Up)", "하 (Down)", "좌 (Left)", 또는 "우 (Right)" 의 표시가 오는 것에 의해 나타내진다. 따라서, 예를 들어, "2NxnU" 는 맨 위가 2Nx0.5N PU 이고 아래가 2Nx1.5N PU 인 수평으로 파티셔닝되는 2Nx2N CU 를 지칭한다.
본 개시물에서, "NxN" 및 "N 바이 N" 은 수직 및 수평 치수들의 관점에서 비디오 블록의 픽셀 치수 (pixel dimension) 들, 예를 들어, 16x16 픽셀들 또는 16 바이 16 픽셀들을 지칭하기 위해 상호교환가능하게 사용될 수도 있다. 일반적으로, 16x16 블록은 수직 방향으로 16 개의 픽셀들 (y = 16) 을 갖고 수평 방향으로 16 개의 픽셀들 (x = 16) 을 가질 것이다. 마찬가지로, NxN 블록은 일반적으로 수직 방향으로 N 개의 픽셀들 및 수평 방향으로 N 개의 픽셀들을 가지며, 여기서 N 은 비음의 정수값을 나타낸다. 블록 내의 픽셀들은 로우 (row) 들 및 컬럼 (column) 들로 배열될 수도 있다. 더욱이, 블록들은 반드시 수평 방향에서, 수직 방향에서와 동일한 수의 픽셀들을 가질 필요는 없다. 예를 들어, 블록들은 NxM 픽셀들을 포함할 수도 있으며, 여기서 M 은 N 과 반드시 동일할 필요는 없다.
CU 의 PU들을 이용한 인트라-예측 또는 인터-예측 코딩에 이어, 비디오 인코더 (20) 는 CU 의 TU들에 대한 잔차 데이터를 계산할 수도 있다. PU들은 공간 도메인 (픽셀 도메인으로도 지칭) 에서 예측 픽셀 데이터를 생성하는 방법 또는 모드를 설명하는 신택스 데이터를 포함할 수도 있고, TU들은 잔차 비디오 데이터에 대한 변환, 예를 들어, 이산 코사인 변환 (DCT), 정수 변환, 웨이브릿 변환, 또는 개념상 유사한 변환의 적용에 뒤따르는 변환 도메인에서의 계수들을 포함할 수도 있다. 잔차 데이터는 미인코딩된 픽처의 픽셀들과 PU들에 대응하는 예측 값들 간의 픽셀 차이들에 대응할 수도 있다. 비디오 인코더 (20) 는 CU 에 대한 잔차 데이터를 포함하는 TU들을 형성한 후, CU 에 대한 변환 계수들을 생성하기 위해 그 TU들을 변환할 수도 있다.
변환 계수들을 생성하기 위한 임의의 변환들에 이어, 비디오 인코더 (20) 는 변환 계수들의 양자화를 수행할 수도 있다. 양자화는 일반적으로, 변환 계수들이 계수들을 나타내는데 이용되는 데이터의 양을 가능한 한 감소시키기 위해 양자화되어, 추가 압축을 제공하는 프로세스를 지칭한다. 양자화 프로세스는 계수들의 일부 또는 전부와 연관된 비트 깊이 (bit depth) 를 감소시킬 수도 있다. 예를 들어, n-비트 값은 양자화 동안 m-비트 값으로 내림 (round down) 될 수도 있으며, 여기서 n 은 m 보다 더 크다.
양자화에 이어, 비디오 인코더는 변환 계수들을 스캔하여 양자화된 변환 계수들을 포함하는 2 차원 매트릭스로부터 일차원 벡터를 생성할 수도 있다. 스캔은 그 어레이의 앞 부분에 더 높은 에너지 (및 그에 따른 더 낮은 주파수) 계수들을 배치하고 그 어레이의 뒤에 더 낮은 에너지 (및 그에 따른 더 높은 주파수) 계수들을 배치하도록 설계될 수도 있다. 일부 예들에서, 비디오 인코더 (20) 는 미리 정의된 스캔 순서를 활용하여 양자화된 변환 계수들을 스캔하여, 엔트로피 인코딩될 수도 있는 직렬화된 벡터를 생성할 수도 있다. 다른 예들에서, 비디오 인코더 (20) 는 적응적 스캔을 수행할 수도 있다. 일차원 벡터를 형성하기 위해 양자화된 변환 계수들을 스캔한 후에, 비디오 인코더 (20) 는 예를 들어 콘텍스트 적응적 가변 길이 코딩 (CAVLC), 콘텍스트 적응적 이진 산술 코딩 (CABAC), 신택스 기반 콘텍스트 적응적 이진 산술 코딩 (SBAC), PIPE (Probability Interval Partitioning Entropy) 코딩 또는 다른 엔트로피 인코딩 방법론에 따라 일차원 벡터를 엔트로피 인코딩할 수도 있다. 비디오 인코더 (20) 는 또한, 비디오 데이터의 디코딩 시에 비디오 디코더 (30) 에 의해 이용하기 위한 인코딩된 비디오 데이터와 연관된 신택스 엘리먼트들을 엔트로피 인코딩할 수도 있다.
CABAC 을 수행하기 위해, 비디오 인코더 (20) 는 콘텍스트 모델 내의 콘텍스트를 송신될 심볼에 할당할 수도 있다. 콘텍스트는 예를 들어, 심볼의 이웃하는 값들이 넌-제로인지 아닌지 여부에 관련이 있을 수도 있다. CAVLC 를 수행하기 위해, 비디오 인코더 (20) 는 송신될 심볼에 대한 가변 길이 코드를 선택할 수도 있다. VLC 에서의 코드워드들은 비교적 더 짧은 코드들이 더 가능성있는 심볼들에 대응하는 한편, 더 긴 코드들이 덜 가능성있는 심볼들에 대응하도록 구성될 수도 있다. 이렇게 하여, VLC 의 이용은 예를 들어, 송신될 각각의 심볼에 대해 동일한 길이의 코드워드들을 이용하는 것에 비해, 비트 절약을 달성할 수도 있다. 그 가능성 결정은 심볼에 할당된 콘텍스에 기초할 수도 있다.
비디오 인코더 (20) 는 예를 들어, 프레임 헤더, 블록 헤더, 슬라이스 헤더, 또는 GOP 헤더에서, 신택스 데이터, 이를 테면 블록 기반 신택스 데이터, 프레임 기반 신택스 데이터, 및 GOP 기반 신택스 데이터를 비디오 디코더 (30) 로 추가 전송할 수도 있다. GOP 신택스 데이터는 각각의 GOP 에서의 다수의 프레임들을 설명할 수도 있고, 프레임 신택스 데이터는 대응하는 프레임을 인코딩하는데 이용되는 인코딩/예측 모드를 나타낼 수도 있다.
도 2 는 본 개시물에서 설명된 양태들에 따른 기법들을 구현할 수도 있는 비디오 인코더의 일 예를 예시하는 블록도이다. 비디오 인코더 (20) 는 본 개시물의 기법들 중 임의의 기법들 또는 전부를 수행하도록 구성될 수도 있다. 하나의 예로서, 모드 선택 유닛 (40) 은 본 개시물에서 설명된 기법들 중 임의의 기법 또는 전부를 수행하도록 구성될 수도 있다. 그러나, 본 개시물의 양태들은 그렇제 제한되지는 않는다. 일부 예들에서, 본 개시물에서 설명된 기법들은 비디오 인코더 (20) 의 다양한 컴포넌트들 간에 공유될 수도 있다. 일부 예들에서는, 그에 더하여 또는 그 대신에, 프로세서 (미도시) 가 본 개시물에서 설명된 기법들 중 임의의 기법 또는 전부를 수행하도록 구성될 수도 있다.
일부 실시형태들에서, 모드 선택 유닛 (40), 인트라 예측 유닛 (46) (또는 모드 선택 유닛 (40) 의 다른 컴포넌트, 도시 또는 미도시), 또는 인코더 (20) 의 다른 컴포넌트 (도시 또는 미도시) 가 본 개시물의 기법들을 수행할 수도 있다. 예를 들어, 모드 선택 유닛 (40) 은 참조 계층 (예를 들어, 기본 계층) 및 대응하는 하나 이상의 향상 계층들로 인코딩될 수도 있는, 인코딩하기 위한 비디오 데이터를 수신할 수도 있다. 모드 선택 유닛 (40), 인트라 예측 유닛 (46), 또는 인코더 (20) 의 다른 적절한 유닛은 향상 계층에서의 적어도 하나의 추가적인 비디오 유닛에 기초한 인트라 예측 값 및 참조 계층에서의 공동배치된 비디오 유닛의 값에 적어도 부분적으로 기초하여 향상 계층 내의 포지션에 포지셔닝된 비디오 유닛의 값을 결정할 수도 있다. 향상 계층에서의 적어도 하나의 추가적인 비디오 유닛에 기초한 인트라 예측 값은 제 1 가중 팩터에 의해 가중될 수 있다. 참조 계층에서의 공동배치된 비디오 유닛의 값은 제 2 가중 팩터에 의해 가중될 수 있다. 인코더 (20) 는 비디오 유닛에 관한 데이터를 인코딩하도록 구성될 수도 있다. 인코더 (20) 는 또한, 제 1 가중 팩터 및 제 2 가중 팩터, 또는 제 1 가중 팩터 및 제 2 가중 팩터에 관한 정보를 인코딩하고 비트스트림으로 시그널링하도록 구성될 수도 있다.
소정의 실시형태들에서, 모드 선택 유닛 (40), 인트라 예측 유닛 (46) (또는 모드 선택 유닛 (40) 의 다른 컴포넌트, 도시 또는 미도시), 또는 인코더 (20) 의 다른 컴포넌트 (도시 또는 미도시) 는 참조 계층에서의 복수의 픽셀들의 평균 값에 적어도 부분적으로 기초하여 향상 계층에서의 픽셀의 예측 값을 결정할 수도 있다. 인코더 (20) 는 픽셀에 관한 데이터를 인코딩하고 비트스트림으로 인코딩된 데이터를 시그널링할 수 있다.
다른 실시형태들에서, 모드 선택 유닛 (40), 인트라 예측 유닛 (46) (또는 모드 선택 유닛 (40) 의 다른 컴포넌트, 도시 또는 미도시), 또는 인코더 (20) 의 다른 컴포넌트 (도시 또는 미도시) 는 향상 계층에서의 비디오 유닛이 픽셀 값일 때 그 비디오 유닛 및 그 비디오 유닛에 인접하는 적어도 하나의 추가적인 비디오 유닛에 평활화 필터를 적용할 수도 있다. 인코더 (20) 는 비디오 데이터에 관한 데이터를 인코딩하고 비트스트림으로 인코딩된 데이터를 시그널링할 수 있다.
일부 실시형태들에서, 모드 선택 유닛 (40), 인트라 예측 유닛 (46) (또는 모드 선택 유닛 (40) 의 다른 컴포넌트, 도시 또는 미도시), 또는 인코더 (20) 의 다른 컴포넌트 (도시 또는 미도시) 는 차이 비디오 계층에 적어도 부분적으로 기초하여 향상 계층 내의 포지션에 포지셔닝된 비디오 유닛의 값을 결정할 수도 있다. 픽셀 정보의 차이 비디오 계층은 향상 계층과 대응하는 참조 계층 간의 차이로부터 도출될 수도 있다. 제 1 공간 해상도는 향상 계층과 연관될 수 있고, 제 2 공간 해상도는 참조 계층과 연관될 수 있다. 제 1 공간 해상도가 제 2 공간 해상도와 동일하지 않을 때, 인코더 (20) 는 차이 비디오 계층에 적어도 부분적으로 기초하여 EL 에서의 비디오 유닛의 값을 결정할 수도 있다. 제 1 공간 해상도가 제 2 공간 해상도와 동일할 때, 인코더 (20) 는 차이 비디오 계층에 적어도 부분적으로 기초하여 비디오 유닛의 값을 결정하는 것을 억제할 수도 있다. 인코더 (20) 는 비디오 유닛에 관한 데이터를 인코딩하고 비트스트림으로 인코딩된 데이터를 시그널링할 수 있다. 인코더 (20) 는 또한 차이 비디오 계층이 인트라 예측을 위해 이용되는지 여부를 나타내는 플래그를 인코딩하고 비트스트림으로 시그널링할 수 있다.
비디오 인코더 (20) 는 비디오 슬라이스들 내의 비디오 블록들의 인트라-코딩 및 인터-코딩을 수행할 수도 있다. 인트라-코딩은 주어진 비디오 프레임 또는 픽처 내의 비디오에서의 공간 리던던시를 감소 또는 제거하기 위해 공간 예측에 의존한다. 인터-코딩은 비디오 시퀀스의 인접한 프레임들 또는 픽처들 내의 비디오에서의 시간 리던던시를 감소 또는 제거하기 위해 시간 예측에 의존한다. 인트라-모드 (I 모드) 는 여러 공간 기반 코딩 모드들 중 임의의 것을 지칭할 수도 있다. 인터-모드들, 이를 테면 단방향 예측 (P 모드) 또는 양-예측 (B 모드) 은 여러 시간 기반 코딩 모드들 중 임의의 것을 지칭할 수도 있다.
도 2 에 도시한 바와 같이, 비디오 인코더 (20) 는 인코딩될 비디오 프레임 내의 현재의 비디오 블록을 수신한다. 도 1 의 예에서, 비디오 인코더 (20) 는 모드 선택 유닛 (40), 참조 프레임 메모리 (64), 합산기 (50), 변환 프로세싱 유닛 (52), 양자화 유닛 (54), 및 엔트로피 인코딩 유닛 (56) 을 포함한다. 모드 선택 유닛 (40) 은 차례로 모션 보상 유닛 (44), 모션 추정 유닛 (42), 인트라-예측 유닛 (46), 및 파티션 유닛 (48) 을 포함한다. 비디오 블록 복원을 위해, 비디오 인코더 (20) 는 또한, 역 양자화 유닛 (58), 역 변환 유닛 (60), 및 합산기 (62) 를 포함한다. 디블록킹 (deblocking) 필터 (도 2 에는 미도시) 가 또한 블록 경계들을 필터링하여 복원된 비디오로부터 블록키니스 아티팩트 (blockiness artifact) 들을 제거하기 위해 포함될 수도 있다. 원한다면, 디블록킹 필터는 통상 합산기 (62) 의 출력을 필터링할 것이다. 추가적인 필터들 (인 루프 또는 포스트 루프) 이 또한 디블록킹 필터에 더하여 이용될 수도 있다. 이러한 필터들은 간략화를 위해 도시되지 않지만, 원한다면, (인 루프 필터처럼) 합산기 (50) 의 출력을 필터링할 수도 있다.
인코딩 프로세스 동안, 비디오 인코더 (20) 는 코딩될 비디오 프레임 또는 슬라이스를 수신한다. 프레임 또는 슬라이스는 다수의 비디오 블록들로 분할될 수도 있다. 모션 추정 유닛 (42) 및 모션 보상 유닛 (44) 은 시간 예측을 제공하기 위해 하나 이상의 참조 프레임들에서의 하나 이상의 블록들에 대하여 수신된 비디오 블록의 인터-예측 코딩을 수행한다. 인트라-예측 유닛 (46) 은 대안으로 공간 예측을 제공하기 위해 코딩될 블록과 동일한 프레임 또는 슬라이스에서의 하나 이상의 이웃하는 블록들에 대하여 수신된 비디오 블록의 인트라-예측 코딩을 수행할 수도 있다. 비디오 인코더 (20) 는 예를 들어, 비디오 데이터의 각각의 블록에 대한 적절한 코딩 모드를 선택하기 위해 다수의 코딩 패스 (pass) 들을 수행할 수도 있다.
더욱이, 파티션 유닛 (48) 은 이전의 코딩 패스들에서의 이전의 파티셔닝 스킴들의 평가에 기초하여, 비디오 데이터의 블록들을 서브-블록들로 파티셔닝할 수도 있다. 예를 들어, 파티션 유닛 (48) 은 처음에 프레임 또는 슬라이스를 LCU들로 파티셔닝하고, LCU들의 각각을 레이트-왜곡 분석 (예를 들어, 레이트-왜곡 최적화) 에 기초하여 서브-CU들로 파티셔닝할 수도 있다. 모드 선택 유닛 (40) 은 또한, LCU 의 서브-CU들로의 파티셔닝을 나타내는 쿼드트리 데이터 구조를 생성할 수도 있다. 쿼드트리의 리프-노드 CU들은 하나 이상의 PU들 및 하나 이상의 TU들을 포함할 수도 있다.
모드 선택 유닛 (40) 은 예를 들어, 오차 결과들에 기초하여 코딩 모드들, 즉 인트라 또는 인터 중 하나를 선택할 수도 있고, 결과의 인트라-코딩된 또는 인터-코딩된 블록을, 잔차 블록 데이터를 생성하기 위해 합산기 (50) 에 제공하고 참조 프레임으로서 이용하기 위한 인코딩된 블록을 복원하기 위해 합산기 (62) 에 제공한다. 모드 선택 유닛 (40) 은 또한, 신택스 엘리먼트들, 이를 테면 모션 벡터들, 인트라-모드 표시자들, 파티션 정보, 및 다른 이러한 신택스 정보를 엔트로피 인코딩 유닛 (56) 에 제공한다.
모션 추정 유닛 (42) 및 모션 보상 유닛 (44) 은 고도로 통합될 수도 있지만, 개념상 목적들을 위해 별개로 예시된다. 모션 추정 유닛 (42) 에 의해 수행된 모션 추정은, 비디오 블록들에 대한 모션을 추정하는 모션 벡터들을 생성하는 프로세스이다. 예를 들어, 모션 벡터는 현재의 프레임 (또는 다른 코딩된 유닛) 내에 코딩되는 현재의 블록에 대한 참조 프레임 (또는 다른 코딩된 유닛) 내의 예측 블록에 대한 현재의 비디오 프레임 또는 픽처 내의 비디오 블록의 PU 의 변위 (displacement) 를 나타낼 수도 있다. 예측 블록은 픽셀 차이의 관점에서, 코딩될 블록에 밀접하게 매칭하는 것으로 확인되는 블록이며, 이는 SAD (sum of absolute difference), SSD (sum of square difference), 또는 다른 차이 메트릭들에 의해 결정될 수도 있다. 일부 예들에서, 비디오 인코더 (20) 는 참조 프레임 메모리 (64) 내에 저장된 참조 픽처들의 서브-정수 픽셀 포지션들에 대한 값들을 계산할 수도 있다. 예를 들어, 비디오 인코더 (20) 는 참조 픽처의 1/4 픽셀 포지션들, 1/8 픽셀 포지션들, 또는 다른 분수 픽셀 포지션들의 값들을 보간할 수도 있다. 따라서, 모션 추정 유닛 (42) 은 풀 픽셀 포지션들 및 분수 픽셀 포지션들에 대해 모션 검색을 수행하고 분수 픽셀 정밀도를 가진 모션 벡터를 출력할 수도 있다.
모션 추정 유닛 (42) 은 PU 의 포지션을 참조 픽처의 예측 블록의 포지션과 비교함으로써 인터-코딩된 슬라이스에서의 비디오 블록의 PU 에 대한 모션 벡터를 계산한다. 참조 픽처는 각각이 참조 프레임 메모리 (64) 내에 저장된 하나 이상의 참조 픽처들을 식별하는 제 1 참조 픽처 리스트 (리스트 0) 또는 제 2 참조 픽처 리스트 (리스트 1) 로부터 선택될 수도 있다. 모션 추정 유닛 (42) 은 계산된 모션 벡터를 엔트로피 인코딩 유닛 (56) 및 모션 보상 유닛 (44) 으로 전송한다.
모션 보상 유닛 (44) 에 의해 수행되는 모션 보상은 모션 추정 유닛 (42) 에 의해 결정된 모션 벡터에 기초하여 예측 블록을 페치 (fetch) 또는 생성하는 것을 수반할 수도 있다. 다시, 모션 추정 유닛 (42) 및 모션 보상 유닛 (44) 은 일부 예들에서 기능적으로 통합될 수도 있다. 현재의 비디오 블록의 PU 에 대한 모션 벡터의 수신 시에, 모션 보상 유닛 (44) 은 참조 픽처 리스트들 중 하나의 리스트에서 모션 벡터가 가리키는 예측 블록을 위치결정할 수도 있다. 합산기 (50) 는 이하 논의한 바와 같이, 코딩되는 현재의 비디오 블록의 픽셀 값들에서 예측 블록의 픽셀 값들을 감산함으로써 잔차 비디오 블록을 형성하여, 픽셀 차이 값들을 형성한다. 일반적으로, 모션 추정 유닛 (42) 은 루마 컴포넌트들에 대하여 모션 추정을 수행하고, 모션 보상 유닛 (44) 은 크로마 컴포넌트들과 루마 컴포넌트들 양자에 대한 루마 컴포넌트들에 기초하여 계산된 모션 벡터들을 이용한다. 모드 선택 유닛 (40) 은 또한, 비디오 슬라이스의 비디오 블록들의 디코딩 시에 비디오 디코더 (30) 에 의해 이용하기 위한 비디오 슬라이스 및 비디오 블록들과 연관된 신택스 엘리먼트들을 생성할 수도 있다.
인트라-예측 유닛 (46) 은 상기 설명한 바와 같이, 모션 추정 유닛 (42) 및 모션 보상 유닛 (44) 에 의해 수행된 인터-예측에 대한 대안으로서 현재의 블록을 인트라-예측할 수도 있다. 특히, 인트라-예측 유닛 (46) 은 현재의 블록을 인코딩하는데 이용할 인트라-예측 모드를 결정할 수도 있다. 일부 예들에서, 인트라-예측 유닛 (46) 은 예를 들어, 개별 인코딩 패스들 동안 다양한 인트라-예측 모드들을 이용하여 현재의 블록을 인코딩할 수도 있고, 인트라-예측 유닛 (46) (또는 일부 예들에서 모드 선택 유닛 (40)) 은 테스트된 모드들로부터 이용할 적절한 인트라-예측 모드를 선택할 수도 있다.
예를 들어, 인트라-예측 유닛 (46) 은 다양한 테스트된 인트라-예측 모드들에 대해 레이트-왜곡 분석을 이용하여 레이트-왜곡 값들을 계산하고, 테스트된 모드들 중에서 최상의 레이트-왜곡 특성들을 갖는 인트라-예측 모드를 선택할 수도 있다. 레이트-왜곡 분석은 일반적으로 인코딩된 블록과, 그 인코딩된 블록을 생성하기 위해 인코딩되었던 원래의 미인코딩된 블록 간의 왜곡 (또는 오차) 의 양은 물론, 인코딩된 블록을 생성하는데 이용된 비트레이트 (즉, 비트들의 수) 를 결정한다. 인트라-예측 유닛 (46) 은 어느 인트라-예측 모드가 블록에 대한 최상의 레이트-왜곡 값을 나타내는지를 결정하기 위해 다양한 인코딩된 블록들에 대한 레이트들 및 왜곡들로부터의 비율들을 계산할 수도 있다.
블록에 대한 인트라-예측 모드를 선택한 후에, 인트라-예측 유닛 (46) 은 블록에 대한 선택된 인트라-예측 모드를 나타내는 정보를 엔트로피 인코딩 유닛 (56) 에 제공할 수도 있다. 엔트로피 인코딩 유닛 (56) 은 선택된 인트라-예측 모드를 나타내는 정보를 인코딩할 수도 있다. 비디오 인코더 (20) 는 복수의 인트라-예측 모드 인덱스 테이블들 및 복수의 변형된 인트라-예측 모드 인덱스 테이블들 (코드워드 맵핑 테이블들로도 지칭) 을 포함할 수도 있는 송신된 비트스트림 구성 데이터에, 다양한 블록들에 대한 인코딩 콘텍스트들의 정의들, 및 콘텍스트들 각각에 대해 이용할 가장 가능성있는 인트라-예측 모드, 인트라-예측 모드 인덱스 테이블, 및 변형된 인트라-예측 모드 인덱스 테이블의 표시들을 포함할 수도 있다.
비디오 인코더 (20) 는 코딩되는 원래의 비디오 블록에서 모드 선택 유닛 (40) 으로부터의 예측 데이터를 감산함으로써 잔차 비디오 블록을 형성한다. 합산기 (50) 는 이 감산 연산을 수행하는 컴포넌트 또는 컴포넌트들을 나타낸다. 변환 프로세싱 유닛 (52) 은 잔차 블록에 이산 코사인 변환 (DCT) 또는 개념상 유사한 변환과 같은 변환을 적용하여 잔차 변환 계수 값들을 포함하는 비디오 블록을 생성한다. 변환 프로세싱 유닛 (52) 은 DCT 와 개념상 유사한 다른 변환들을 수행할 수도 있다. 웨이브릿 변환들, 정수 변환들, 서브-대역 변환들 또는 다른 타입들의 변환들이 또한 이용될 수 있다. 어느 경우나, 변환 프로세싱 유닛 (52) 은 잔차 블록에 변환을 적용하여, 잔차 변환 계수들의 블록을 생성한다. 변환은 잔차 정보를 픽셀 값 도메인으로부터 변환 도메인, 이를 테면 주파수 도메인으로 컨버팅할 수도 있다. 변환 프로세싱 유닛 (52) 은 결과의 변환 계수들을 양자화 유닛 (54) 으로 전송할 수도 있다. 양자화 유닛 (54) 은 변환 계수들을 양자화하여 비트 레이트를 추가 감소시킨다. 양자화 프로세스는 계수들의 일부 또는 전부와 연관된 비트 깊이를 감소시킬 수도 있다. 양자화의 정도는 양자화 파라미터를 조정함으로써 변형될 수도 있다. 일부 예들에서, 양자화 유닛 (54) 은 그 후 양자화된 변환 계수들을 포함하는 매트릭스의 스캔을 수행할 수도 있다. 대안으로, 엔트로피 인코딩 유닛 (56) 이 그 스캔을 수행할 수도 있다.
양자화에 이어, 엔트로피 인코딩 유닛 (56) 은 양자화된 변환 계수들을 엔트로피 코딩한다. 예를 들어, 엔트로피 인코딩 유닛 (56) 은 콘텍스트 적응적 가변 길이 코딩 (CAVLC), 콘텍스트 적응적 이진 산술 코딩 (CABAC), 신택스 기반 콘텍스트 적응적 이진 산술 코딩 (SBAC), PIPE (probability interval partitioning entropy) 코딩 또는 다른 엔트로피 코딩 기법을 수행할 수도 있다. 콘텍스트 기반 엔트로피 코딩의 경우에, 콘텍스트는 이웃하는 블록들에 기초할 수도 있다. 엔트로피 인코딩 유닛 (56) 에 의한 엔트로피 코딩에 이어, 인코딩된 비트스트림은 다른 디바이스 (예를 들어, 비디오 디코더 (30)) 에 송신되거나 또는 추후 송신 또는 취출을 위해 아카이브될 수도 있다.
역 양자화 유닛 (58) 및 역 변환 유닛 (60) 은 예를 들어, 참조 블록으로서의 추후 이용을 위해, 픽셀 도메인에서의 잔차 블록을 복원하기 위해, 각각 역 양자화 및 역 변환을 적용한다. 모션 보상 유닛 (44) 은 잔차 블록을 참조 프레임 메모리 (64) 의 프레임들 중 하나의 프레임의 예측 블록에 가산함으로써 참조 블록을 계산할 수도 있다. 모션 보상 유닛 (44) 은 또한, 모션 추정 시에 이용하기 위한 서브-정수 픽셀 값들을 계산하기 위해 하나 이상의 보간 필터들을 복원된 잔차 블록에 적용할 수도 있다. 합산기 (62) 는 참조 프레임 메모리 (64) 내에의 저장을 위한 복원된 비디오 블록을 생성하기 위해 복원된 잔차 블록을 모션 보상 유닛 (44) 에 의해 생성된 모션 보상된 예측 블록에 가산한다. 복원된 비디오 블록은 후속의 비디오 프레임에서의 블록을 인터-코딩하기 위한 참조 블록으로서 모션 추정 유닛 (42) 및 모션 보상 유닛 (44) 에 의해 이용될 수도 있다.
도 3 은 본 개시물에서 설명된 양태들에 따른 기법들을 구현할 수도 있는 비디오 디코더의 일 예를 예시하는 블록도이다. 비디오 디코더 (30) 는 본 개시물의 기법들 중 임의의 기법 또는 전부를 수행하도록 구성될 수도 있다. 하나의 예로서, 모션 보상 유닛 (72) 및/또는 인트라 예측 유닛 (74) 은 본 개시물에서 설명된 기법들 중 임의의 기법 또는 전부를 수행하도록 구성될 수도 있다. 그러나, 본 개시물의 양태들은 그렇게 제한되지는 않는다. 일부 예들에서, 본 개시물에서 설명된 기법들은 비디오 디코더 (30) 의 다양한 컴포넌트들 간에 공유될 수도 있다. 일부 예들에서는, 그에 더하여 또는 그 대신에, 프로세서 (미도시) 가 본 개시물에서 설명된 기법들 중 임의의 기법 또는 전부를 수행하도록 구성될 수도 있다.
일부 실시형태들에서, 엔트로피 디코딩 유닛 (70), 인트라 예측 유닛 (74), 또는 디코더 (30) 의 다른 컴포넌트 (도시 또는 미도시) 는 본 개시물의 기법들을 수행할 수도 있다. 예를 들어, 엔트로피 디코딩 유닛 (70) 은 인코딩된 비디오 비트스트림을 수신할 수도 있으며, 이는 참조 계층 (예를 들어, 기본 계층) 및 대응하는 하나 이상의 향상 계층들에 관한 데이터를 인코딩할 수도 있다. 인트라 예측 유닛 (74) 또는 디코더 (30) 의 다른 적절한 유닛은 향상 계층에서의 적어도 하나의 추가적인 비디오 유닛에 기초한 인트라 예측 값 및 참조 계층에서의 공동배치된 비디오 유닛의 값에 적어도 부분적으로 기초하여 향상 계층 내의 포지션에 포지셔닝된 비디오 유닛의 값을 결정할 수도 있다. 향상 계층에서의 적어도 하나의 추가적인 비디오 유닛에 기초한 인트라 예측 값은 제 1 가중 팩터에 의해 가중될 수 있다. 참조 계층에서의 공동배치된 비디오 유닛의 값은 제 2 가중 팩터에 의해 가중될 수 있다. 엔트로피 디코딩 유닛 (70) 또는 디코더 (30) 의 다른 컴포넌트는 비디오 유닛을 디코딩하고 비트스트림으로 제 1 가중 팩터 및 제 2 가중 팩터, 또는 제 1 가중 팩터 및 제 2 가중 팩터에 관한 정보를 수신하도록 구성될 수도 있다. 하나의 실시형태에서, 디코더 (30) 는 제 1 가중 팩터 및 제 2 가중 팩터를 도출할 수도 있다.
소정의 실시형태들에서, 엔트로피 디코딩 유닛 (70) 또는 디코더 (30) 의 다른 컴포넌트 (도시 또는 미도시) 는 인코딩된 비디오 비트스트림을 수신할 수도 있다. 인트라 예측 유닛 (74) 또는 디코더 (30) 의 다른 적절한 유닛은 참조 계층에서의 복수의 픽셀들의 평균 값에 적어도 부분적으로 기초하여 향상 계층에서의 픽셀의 예측 값을 결정할 수도 있다.
다른 실시형태들에서, 엔트로피 디코딩 유닛 (70) 또는 디코더 (30) 의 다른 컴포넌트 (도시 또는 미도시) 는 인코딩된 비디오 비트스트림을 수신할 수도 있다. 인트라 예측 유닛 (74) 또는 디코더 (30) 의 다른 적절한 유닛은 향상 계층에서의 비디오 유닛이 픽셀 값일 때, 그 비디오 유닛 및 그 비디오 유닛에 인접하는 적어도 하나의 추가적인 비디오 유닛에 평활화 필터를 적용할 수도 있다.
일부 실시형태들에서, 엔트로피 디코딩 유닛 (70) 또는 디코더 (30) 의 다른 컴포넌트 (도시 또는 미도시) 는 인코딩된 비디오 비트스트림을 수신할 수도 있다. 인트라 예측 유닛 (74) 또는 디코더 (30) 의 다른 적절한 유닛은 차이 비디오 계층에 적어도 부분적으로 기초하여 향상 계층 내의 포지션에 포지셔닝된 비디오 유닛의 값을 결정할 수도 있다. 픽셀 정보의 차이 비디오 계층은 향상 계층과 대응하는 참조 계층 간의 차이로부터 도출될 수도 있다. 제 1 공간 해상도는 향상 계층과 연관될 수 있고, 제 2 공간 해상도는 참조 계층과 연관될 수 있다. 제 1 공간 해상도가 제 2 공간 해상도와 동일하지 않을 때, 디코더 (30) 는 차이 비디오 계층에 적어도 부분적으로 기초하여 EL 에서의 비디오 유닛의 값을 결정할 수도 있다. 제 1 공간 해상도가 제 2 공간 해상도와 동일할 때, 디코더 (30) 는 차이 비디오 계층에 적어도 부분적으로 기초하여 비디오 유닛의 값을 결정하는 것을 억제할 수도 있다.
도 3 의 예에서, 비디오 디코더 (30) 는 엔트로피 디코딩 유닛 (70), 모션 보상 유닛 (72), 인트라 예측 유닛 (74), 역 양자화 유닛 (76), 역 변환 유닛 (78), 참조 프레임 메모리 (82) 및 합산기 (80) 를 포함한다. 비디오 디코더 (30) 는 일부 예들에서, 비디오 인코더 (20) (도 2) 에 대하여 설명된 인코딩 패스에 일반적으로 상호적인 디코딩 패스를 수행할 수도 있다. 모션 보상 유닛 (72) 은 엔트로피 디코딩 유닛 (70) 으로부터 수신된 모션 벡터들에 기초하여 예측 데이터를 생성할 수도 있는 한편, 인트라-예측 유닛 (74) 은 엔트로피 디코딩 유닛 (70) 으로부터 수신된 인트라-예측 모드 표시자들에 기초하여 예측 데이터를 생성할 수도 있다.
디코딩 프로세스 동안, 비디오 디코더 (30) 는 비디오 인코더 (20) 로부터 연관된 신택스 엘리먼트들 및 인코딩된 비디오 슬라이스의 비디오 블록들을 나타내는 인코딩된 비디오 비트스트림을 수신한다. 비디오 디코더 (30) 의 엔트로피 디코딩 유닛 (70) 은 양자화된 계수들, 모션 벡터들 또는 인트라-예측 모드 표시자들을 생성하기 위한 비트스트림, 및 다른 신택스 엘리먼트들을 엔트로피 디코딩한다. 엔트로피 디코딩 유닛 (70) 은 모션 벡터들 및 다른 신택스 엘리먼트들을 모션 보상 유닛 (72) 으로 포워딩한다. 비디오 디코더 (30) 는 비디오 슬라이스 레벨 및/또는 비디오 블록 레벨에서 신택스 엘리먼트들을 수신할 수도 있다.
비디오 슬라이스가 인트라-코딩된 (I) 슬라이스로서 코딩되는 경우, 인트라 예측 유닛 (74) 은 현재의 프레임 또는 픽처의 이전에 디코딩된 블록들로부터의 시그널링된 인트라 예측 모드 및 데이터에 기초하여 현재의 비디오 슬라이스의 비디오 블록에 대한 예측 데이터를 생성할 수도 있다. 비디오 프레임이 인터-코딩된 (예를 들어 B, P 또는 GPB) 슬라이스로서 코딩되는 경우, 모션 보상 유닛 (72) 은 엔트로피 디코딩 유닛 (70) 으로부터 수신된 모션 벡터들 및 다른 신택스 엘리먼트들에 기초하여 현재의 비디오 슬라이스의 비디오 블록에 대한 예측 블록들을 생성한다. 예측 블록들은 참조 픽처 리스트들 중 하나의 리스트 내의 참조 픽처들 중 하나로부터 생성될 수도 있다. 비디오 디코더 (30) 는 참조 프레임 메모리 (92) 내에 저장된 참조 픽처들에 기초하여 디폴트 구성 기법들을 이용하여 참조 프레임 리스트들, 리스트 0 및 리스트 1 을 구성할 수도 있다. 모션 보상 유닛 (72) 은 모션 벡터들 및 다른 신택스 엘리먼트들을 파싱함으로써 현재의 비디오 슬라이스의 비디오 블록에 대한 예측 정보를 결정하고, 그 예측 정보를 이용하여 디코딩되는 현재의 비디오 블록에 대한 예측 블록들을 생성한다. 예를 들어, 모션 보상 유닛 (72) 은 수신된 신택스 엘리먼트들 중 일부를 이용하여, 비디오 슬라이스의 비디오 블록들을 코딩하는데 이용된 예측 모드 (예를 들어, 인트라- 또는 인터-예측), 인터-예측 슬라이스 타입 (예를 들어, B 슬라이스, P 슬라이스, 또는 GPB 슬라이스), 슬라이스에 대한 하나 이상의 참조 픽처 리스트들에 대한 구성 정보 (construction information), 슬라이스의 각각의 인터-인코딩된 비디오 블록에 대한 모션 벡터들, 슬라이스의 각각의 인터-코딩된 비디오 블록에 대한 인터-예측 상태, 및 현재의 비디오 슬라이스 내의 비디오 블록들을 디코딩하기 위한 다른 정보를 결정한다.
모션 보상 유닛 (72) 은 또한 보간 필터들에 기초하여 보간을 수행할 수도 있다. 모션 보상 유닛 (72) 은 참조 블록들의 서브-정수 픽셀들에 대한 보간된 값들을 계산하기 위해 비디오 블록들의 인코딩 동안 비디오 인코더 (20) 에 의해 이용한 바와 같은 보간 필터들을 이용할 수도 있다. 이 경우에, 모션 보상 유닛 (72) 은 수신된 신택스 엘리먼트들로부터 비디오 인코더 (20) 에 의해 이용된 보간 필터들을 결정하고 그 보간 필터들을 이용하여 예측 블록들을 생성할 수도 있다.
역 양자화 유닛 (76) 은 비트스트림으로 제공되고 엔트로피 디코딩 유닛 (80) 에 의해 디코딩되는 양자화된 변환 계수들을 역 양자화, 예를 들어, 양자화해제 (de-quantize) 한다. 역 양자화 프로세스는 양자화의 정도, 및 마찬가지로, 적용되어야 하는 역 양자화의 정도를 결정하기 위해 비디오 슬라이스 내의 각각의 비디오 블록에 대해 비디오 디코더 (30) 에 의해 계산된 양자화 파라미터 (QPY) 의 이용을 포함할 수도 있다.
역 변환 유닛 (78) 은 픽셀 도메인에서의 잔차 블록들을 생성하기 위하여 변환 계수들에, 역 변환, 예를 들어, 역 DCT, 역 정수 변환, 또는 개념상 유사한 역 변환 프로세스를 적용한다.
모션 보상 유닛 (82) 이 모션 벡터들 및 다른 신택스 엘리먼트들에 기초하여 현재의 비디오 블록에 대한 예측 블록을 생성한 후에, 비디오 디코더 (30) 는 역 변환 유닛 (78) 으로부터의 잔차 블록들을 모션 보상 유닛 (72) 에 의해 생성된 대응하는 예측 블록들과 합산함으로써 디코딩된 비디오 블록을 형성한다. 합산기 (90) 는 이 합산 연산을 수행하는 컴포넌트 또는 컴포넌트들을 나타낸다. 원한다면, 디블록킹 필터는 또한 블록키니스 아티팩트들을 제거하기 위하여 디코딩된 블록들을 필터링하기 위해 적용될 수도 있다. (코딩 루프 내의 또는 코딩 루프 다음의) 다른 루프 필터들이 또한 픽셀 트랜지션들을 평활화하거나, 또는 다르게는 비디오 품질을 개선하는데 이용될 수도 있다. 주어진 프레임 또는 픽처 내의 디코딩된 비디오 블록들은 그 후 후속의 모션 보상을 위해 이용되는 참조 픽처들을 저장하는 참조 픽처 메모리 (92) 내에 저장된다. 참조 프레임 메모리 (82) 는 또한 도 1 의 디스플레이 디바이스 (32) 와 같은 디스플레이 디바이스 상의 추후 프리젠테이션을 위해 디코딩된 비디오를 저장한다.
비디오 코딩 개요
하나의 실시형태에서, 비디오 코더는 모션 예측, 변환, 양자화, 및 엔트로피 코딩을 포함하는 도 4 에 도시한 바와 같이 4 개의 코딩 기법들을 구현하도록 구성된다. 이들 기법들은 코딩 유닛 등과 같은 (그러나 이것에 제한되지는 않는다) 프레임의 장방형 블록들 및/또는 영역들에 적용될 수도 있다.
비디오 신호는 이웃하는 프레임들 간의 높은 상관으로, 시간 리던던시를 가질 수 있다. 추가적으로 프레임, 이미지 등 내에서, 데이터는 때때로 이웃하는 픽셀들 간에 공간 리던던시를 가질 수 있다. 일부 상황들에서, 코딩 유닛은 공간 위치결정된 이웃하는 픽셀들로부터 예측함으로써 이러한 공간 리던던시를 이용하도록 구성될 수 있다. 이러한 상황들에서, CU 는 인트라 모드 코딩 유닛으로서 코딩될 수도 있다. 다른 상황들에서, 데이터는 때때로 이웃하는 프레임들 간에 시간 리던던시를 가질 수 있다. 일부 상황들에서, CU 는 이웃하는 프레임들로부터 모션을 예측함으로써 이러한 시간 리던던시를 이용하도록 구성될 수 있다. 이러한 상황들에서, CU 는 인터 모드 코딩 유닛으로서 코딩될 수도 있다. 예측 스테이지는 일반적으로 무손실이다. 코딩된 블록들은 그 후, 출력들이 스칼라 양자화 등의 기법들을 이용하여 효율적으로 코딩될 수 있도록 신호들을 무상관 (de-correlate) 하기 위해 다양한 기법들 중 임의의 하나 이상, 예를 들어, DCT 등을 이용하여 변환될 수도 있다. 게다가 이들 양자화된 계수들은 산술 코딩 등과 같은 엔트로피 코딩 기법들을 이용하여 압축될 수도 있다.
일반적으로, P/B-모드에서 인코딩된 코딩 유닛들은 이전에 코딩된 프레임들 중 하나 이상으로부터 예측된다. 이들 모드들의 경우, 블록의 예측 정보는 2 차원 (2D) 모션 벡터에 의해 표현된다. I-모드로 인코딩된 블록들의 경우, 예측된 블록은 동일한 프레임 내의 이미 인코딩된 이웃하는 블록들로부터의 공간 예측을 이용하여 형성된다. 예측 오차, 예를 들어 인코딩되는 블록과 예측된 블록 간의 차이가 그 후 변환 및 양자화된다. 양자화된 변환 계수들은, 모션 벡터들 및 다른 제어 정보와 함께, 코딩된 시퀀스 표현을 형성하고 때때로 신택스 엘리먼트들로 지칭된다. 인코더로부터 디코더로의 송신 이전에, 모든 신택스 엘리먼트들은 그들의 표현을 위해 활용되는 비트들의 수를 더욱 감소시키기 위해 엔트로피 코딩될 수도 있다.
디코더에서, 현재의 프레임 내의 블록은 인코더에서와 동일한 방식으로 그 예측을 먼저 구성함으로써 및 그 예측에 압축된 예측 오차를 가산함으로써 얻어진다.
HEVC 인트라 예측
인트라 예측 모드는 기존의 공간 상관을 이용하기 위해 HEVC 에서 종종 이용된다. HEVC 는 모든 블록 사이즈에 대해 35 개의 모드들을 제공한다. 도 5 는 인트라 예측을 위한 35 개의 모드들을 예시한다.
예측 프로세스의 하나의 실시형태가 도 6 에 예시된다. 도 6 에 도시한 바와 같이, 픽셀들 "a" 내지 "p" 는 인코딩될 예정이다. 픽셀들 "A" 내지 "R" 은 이웃하는 블록들에 위치결정되고, 이미 인코딩되었다. 이웃하는 픽셀들은 "a" 내지 "p" 픽셀들의 값들을 예측하기 위한 예측을 위해 이용된다. 픽셀들 "A" 내지 "R" 은 이웃하는 픽셀들로 지칭될 수도 있다.
예를 들어, 모드 수직이 선택된다면, 픽셀들 a, e, i 및 m 은 그들을 픽셀 A 와 동일하게 설정함으로써 예측되고, 픽셀들 b, f, j 및 n 은 그들을 픽셀 B 와 동일하게 설정함으로써 예측되며, 등등이다. 유사하게, 모드 수평이 선택된다면, 픽셀들 a, b, c 및 d 는 그들을 픽셀 I 와 동일하게 설정함으로써 예측되고, 픽셀들 e, f, g 및 h 는 그들을 픽셀 J 와 동일하게 설정함으로써 예측되며, 등등이다.
HEVC 기본 계층에서의 현재 가장 가능성있는 모드 도출
도 7 은 현재의 예측 유닛 (PU) 및 이웃하는 유닛들 "A" 및 "B" 의 하나의 실시형태를 예시한다. 다음은 HEVC 기본 계층에서의 가장 가능성있는 모드 리스트 도출의 하나의 실시형태를 설명한다.
HEVC 스케일러블 비디오 코딩 확장
HEVC 코덱 표준에 대한 SVC (스케일러블 비디오 코딩) 확장은 멀티-계층화된 비디오 스트림들의 전송 및 수신을 허용한다. 멀티-계층화된 비디오 스트림들은 해상도, 프레임 레이트 및 품질을 향상시키는데 이용될 수 있는 작은 기본 계층 및 하나 이상의 옵션의 추가적인 계층들을 포함할 수도 있다.
도 8 은 향상 계층 차이 도메인 코딩 및 정규 픽셀 도메인 코딩의 하나의 실시형태를 예시한다.
차이 도메인 인트라 예측 코딩
차이 도메인 코딩 인트라 예측은 때때로 대응하는 기본 계층 복원된 픽처 샘플 (또는 공간 스케일러블 계층의 경우에 언샘플링된 복원된 픽처) 에서 현재의 계층 픽처 샘플들을 감산함으로써 구현된다. 결과의 차이는 이웃하는 차이 신호로부터 더욱 예측되는 "차이" 신호를 형성하는데 이용된다. 그 차이는 인코딩될 수도 있으며, 이는 종종 더 나은 코딩 효율을 초래한다. 차이 도메인 예측을 결정하기 위해 이웃하는 값들을 이용하는 하나의 실시형태가 도 9 에 예시된다.
하나의 실시형태에서, 차이 도메인 예측 플래그가 차이 도메인이 이용되었는지 여부를 나타내기 위해 디코더에 제공된다. 압축 효율을 개선하기 위해, 차이 도메인 예측은 프레임, 슬라이스, LCU, CU, PU 등을 포함하지만 이들에 제한되지는 않는, HEVC 압축 초안에서 설명된 것들을 포함하는 임의의 입도 레벨 (granularity level) 에서 수행될 수 있다. 차이 도메인 예측 플래그 정보는 임의의 이러한 입도 레벨에서 시그널링될 수도 있다.
EL 에 대한 조합된 인트라 예측 및 인트라 BL 예측
하나의 실시형태에서, 인트라 예측 및 인트라-BL 예측 모드들은 각각의 인트라 예측 및 인트라 BL 계산에 가중치를 적용함으로써 조합된다. 일부 실시형태들에서, 각각의 가중치는 전체 예측 블록에 적용되는 고정 값을 갖는다. 다른 실시형태들에서, 각각의 가중치는 적응적이거나, 또는 일부 다른 파라미터에 따라 개별적으로 결정된다. 예를 들어, 하나의 실시형태에서, 적응적 가중치 값은 예측 블록에서의 샘플 위치에 기초하여 결정된다. 예를 들어, 좌측 및/또는 상부 경계에 가까운 샘플들에 대한 인트라 예측 가중치 (예를 들어, 그 가중치에는 더 큰 값이 주어진다) 에 더 큰 가중치가 주어질 수 있고, 좌측 및 상부 경계에서 멀리 있는 샘플들에 대한 인트라 BL 가중치에 더 큰 가중치가 주어질 수 있다.
하나의 실시형태에서, 이러한 가중된 예측은 또한 차이 도메인 인트라 예측에서 이용된다. 차이 인트라 예측 경우에, 현재의 PU 는 물론 이웃하는 차이 도메인 픽셀들은 향상 계층 복원된 신호를 대응하는 기본 계층 픽셀들과 감산함으로써 생성된다. 현재의 예측 픽셀들에 대한 (예측을 위해 이용된) 이웃하는 샘플들의 상대 거리가 멀수록, 예측 오차가 커진다. 따라서, 샘플들이 좌측 및 상부 블록 경계로부터 멀리 있는 경우, 그 방법은 향상 계층 이웃하는 예측 대신에 예측을 위해 공동배치된 기본 계층 픽셀들 (예를 들어, 기본 계층 내의 대응하는 포지션에 위치됨, "병치된" 또는 "대응하는" 으로도 지칭될 수도 있음) 을 이용한다. 도 10 은 차이 도메인 인트라 예측을 위한 평면 인트라 예측 모드 구현의 하나의 실시형태를 예시한다. 평면 인트라 예측은 픽셀의 수평 이웃들 및/또는 수직 이웃들에 기초한 인트라 예측을 지칭할 수도 있다.
도 11 은 차이 도메인 인트라 예측을 위한 가중된 평면 인트라 예측 모드 구현의 하나의 실시형태를 예시한다. 가중치들 (Wt0 및 Wt1) 은 현재의 샘플의 예측 값을 결정하는데 이용된다. 하나의 실시형태에서, 각각의 가중치는 0 과 1 사이이거나 또는 동일할 수 있다. 하나의 실시형태에서, 블록의 상부 및/또는 좌측 컬럼에 더 가까운 픽셀들은 더 큰 Wt0 값들을 갖고, 다른 픽셀들은 더 큰 Wt1 값들을 가질 수 있다. 각각의 가중치는 신호 비트스트림으로 코딩 또는 시그널링될 수 있다. 모드는 차이 도메인 또는 픽셀 도메인에서 적용될 수 있다.
가중된 평면 인트라 예측의 다른 실시형태가 도 12 에 예시된다. 예시된 실시형태에서, 가중치 값들은 블록 내의 픽셀의 위치에 기초하여 결정된다. 예를 들어, 블록의 좌측 하측 코너로부터 우측 상측 코너까지 연장된 대각선 경계가 블록을 2 개의 영역들로 분리한다. 다른 실시형태들에서, 그 경계는 곡선 형상을 갖는다. 일반적으로, 그 경계는 블록 또는 유닛의 좌측 및 최상부 픽셀들을 나머지 픽셀들로부터 분리한다.
예시된 실시형태에서, 하나의 영역 (예를 들어, 유닛의 상부 및 좌측 에지들에 가장 가까운 영역) 내의 픽셀들에는 모두 하나의 세트의 가중치 값들 (예를 들어, Wt0 = 1, Wt1 = 0) 이 주어지고, 나머지 픽셀들에는 상이한 세트의 가중치 값들 (예를 들어, Wt0 = 0, Wt1 = 1) 이 주어진다. 경계는 미리결정된 값들 중 어느 것이 특정 픽셀들에 할당될 것인지를 결정하기 위한 분류기 (classifier) 로서의 역할을 한다. 이 실시형태에서, 가중치는 비트스트림으로 코딩되지 않으며, 따라서 효율 및 압축을 개선한다. 그 모드는 차이 또는 픽셀 도메인에서 적용될 수 있다.
가중된 평면 인트라 예측의 다른 실시형태가 도 13 에 예시된다. 예시된 실시형태에서, 가중치 값들은 블록 내의 픽셀의 위치에 기초하여 결정된다. 가중치들은 픽셀 포지션에 기초하여 계산된다. 예를 들어, 하나의 실시형태서 :
여기서 nS1D = 하나의 방향에서의 샘플들의 총 수;
여기서, 일 예로서, 평면 인트라 모드의 경우 :
nS = 예측 유닛에서의 샘플들의 총 수.
예시된 실시형태에서, 가중치들은 픽셀 포지션에 기초하여 계산된다. 따라서, 가중치들은 비트 스트림으로 코딩되지 않으며, 따라서 효율 및 압축을 개선한다. 그 모드는 차이 또는 픽셀 도메인에서 적용될 수 있다.
상기 설명된 방법들 및 모드들은 픽셀 도메인에서 (예를 들어, 픽셀 도메인 인트라 예측의 경우) 또는 차이 도메인에서 (예를 들어, 차이 도메인 인트라 예측의 경우) 중 어느 하나에서 적용될 수 있다.
EL 픽셀 도메인 인트라 예측을 위한 기본 계층 DC 에 기초한 DC 예측 모드
도 14 는 HEVC 규격 초안에 따른 DC 예측 모드의 현재의 구현을 예시한다. DC 값 (예를 들어, 변수 DC_값) 은 다음과 같이 상위 및/또는 좌측 이웃하는 픽셀들의 이용가능성에 기초하여 도출된다 :
그러나, 픽셀 (예를 들어, 블록의 상부 또는 좌측 에지에 있는 픽셀) 이 소정의 이웃들을 갖지 않는다면 (예를 들어, 상위 및/또는 좌측 이웃하는 픽셀이 존재하지 않는다면), DC_값은 128 과 같은 디폴트 값으로 설정될 것이다. 이것은 코딩에 있어서 비효율성 및 부정확성을 야기할 수 있다.
성능, 정확성 및 효율을 개선하기 위해, 하나의 실시형태에서, 픽셀이 소정의 이웃들을 갖지 않는다면, 변수 DC_값은 공동배치된 기본 계층 예측 유닛 픽셀들로부터 도출된다. 예를 들어, 하나의 실시형태에서, DC_값은 다음과 같이 계산된다 :
동일한 시간 인스턴트의 더 많은 샘플들이 DC 를 예측하기 위해 기본 계층에서 이용가능함에 따라, 결과의 예측은 단지 향상 계층의 좌측 및 상부 이웃하는 픽셀들만을 고려하는 것에 의해 보다 정확하고 및/또는 효율적이게 될 것이다.
DC 값은 때때로 미리결정된 픽셀들의 평균 값으로서 결정된다. 하나의 실시형태에서, 기본 계층 블록의 DC 값은, 예를 들어 픽셀 위치에 기초하여, DC 값을 계산하는데 이용된 이웃하는 픽셀들이 이용가능하지 않을 때 미리결정된 디폴트 값 대신에 이용된다.
EL 에서의 인트라 예측을 위한 BL 로부터의 이용불가능한 이웃하는 예측 데이터의 예측
다른 실시형태에서, 유사한 기법이 향상 계층에서의 인트라 예측 동안 채용된다. 인트라 예측 값들은 일반적으로 상위 및 좌측 이웃하는 픽셀들에도 물론 기초하여 도출된다. 그러나, 현재의 구현에서, 이웃하는 샘플이 예측을 위해 이용불가능하다면, 그들은 값 (예를 들어, (1<<(BitDepthY-1)) 으로 패딩되거나 또는 이용가능한 샘플들로부터 예측 또는 검색되거나 한다. 하나의 실시형태에서, 이러한 방식으로 패딩하는 대신에, 이용불가능한 픽셀들은 공동배치된 픽셀의 기본 계층 예측 유닛 (예를 들어, 향상 계층에서의 현재의 픽셀과 동일한 포지션에 위치결정된 기본 계층에서의 대응하는 픽셀) 의 DC 값으로 대체된다. 공동배치된 기본 계층 예측 유닛의 DC 는 상기 논의한 바와 동일한 방식으로 결정될 수도 있다. 하나의 실시형태에서, 공동배치된 기본 계층 예측 유닛의 DC 는 다음과 같이 결정된다 :
nS 는 예를 들어, HEVC 에서 정의한 바와 같이, 예측 유닛에서의 샘플들의 총 수를 지칭할 수도 있다.
차이 도메인 인트라 예측을 위한 모드 의존적 인트라 평활화의 디스에이블링
HEVC 는 픽셀 및 차이 도메인 인트라 예측 모두를 포함하는, 인트라 예측을 위한 모드 의존적 인트라 평활화 (Mode Dependent Intra Smoothing; MDIS) 를 제공한다. MDIS 스킴은 예측 유닛 (PU) 사이즈 및 인트라 예측 모드에 따라 인트라 예측을 생성하는데 이용되는, 이웃하는 복원된 샘플들에 평활화 필터가 적용되는지 여부를 결정한다. 하나의 실시형태에서, MDIS 는 차이 도메인 인트라 예측을 위해 디스에이블된다. MDIS 는 픽셀 도메인 인트라 예측을 위해 적용되지만 차이 도메인 인트라 예측 동안에는 적용되지 않는다. 이것은 모드 의존적 MDIS 제어로 지칭될 수도 있다.
단지 공간 스케일러빌리티를 위한 차이 도메인 인트라 예측 시그널링
스케일러블 비디오 코딩은 공간 스케일러빌리티와 SNR (예를 들어, 품질) 스케일러빌리티 양자를 포함한다. 공간 스케일러빌리티의 경우에, 향상 계층과 기본 계층의 해상도는 상이하며, 보통, 향상 계층이 기본 계층보다 더 높은 해상도를 갖는다. SNR/품질 스케일러빌리티의 경우에, 향상 계층 및 기본 계층의 해상도는 동일하다.
하나의 실시형태에서, 차이 도메인 인트라 예측이 공간 스케일러빌리티를 위해 이용되고 SNR 스케일러빌리티 경우에 대해 디스에이블된다. 예를 들어, 차이 도메인 인트라 예측은, 계층들 간의 공간 해상도가 동일한 경우에 디스에이블되거나 이용이 억제된다. SNR 스케일러빌리티가 존재하는 경우, 차이 도메인 신호들은 일반적으로 양자화 손실을 나타낸다. 따라서, 차이 도메인 인트라 예측은 이 경우에 효율적이지 않을 수도 있다. 현재의 실시형태에서, 차이 도메인 예측 플래그는 공간 스케일러빌리티가 존재하는 경우에만 시그널링되며, 그것이 아닌 경우, 예를 들어, SNR 스케일러빌리티 동안, 현재의 블록이 인트라 예측 모드로서 코딩되는 경우에는 시그널링되지 않는다.
도 15 는 본 개시물의 양태들에 따른 가중된 평면 인트라 예측을 위한 일 예의 방법을 예시하는 플로우차트이다. 프로세스 (1500) 는 인코더 (예를 들어, 도 2 에 도시한 바와 같은 인코더 등) 또는 디코더 (예를 들어, 도 3 에 도시한 바와 같은 디코더 등) 에 의해 수행될 수도 있다. 프로세스 (1500) 의 블록들은 도 2 의 인코더 (20) 에 대하여 설명되지만, 프로세스 (1500) 는 상기 언급한 바와 같이, 디코더와 같은 다른 컴포넌트들에 의해 수행될 수도 있다. 도 15 에 대하여 설명된 모든 실시형태들은 개별적으로 구현될 수도 있고, 또는 서로 결합하여 구현될 수도 있다. 프로세스 (1500) 에 관한 상세들 중 일부는 도 10 내지 도 13 에 대하여 설명된다.
프로세스 (1500) 는 향상 계층 (EL) 에서의 비디오 유닛의 값을 결정하도록 구현될 수도 있다. 비디오 유닛은 EL 내의 포지션에 포지셔닝될 수도 있다. EL 에서의 비디오 유닛은 간략화를 위해 도 15 에 대한 설명에서 "현재의 EL 비디오 유닛" 으로 지칭될 수도 있다. 현재의 EL 비디오 유닛의 값은 EL 에서의 적어도 하나의 추가적인 비디오 유닛에 기초한 인트라 예측 값 및 참조 계층 (RL) 에서의 공동배치된 비디오 유닛의 값에 적어도 부분적으로 기초하여 결정될 수도 있다. EL 에서의 적어도 하나의 추가적인 비디오 유닛에 기초한 인트라 예측 값 및 RL 에서의 공동배치된 비디오 유닛의 값은 가중될 수도 있다. 비디오 유닛은 비디오 데이터의 임의의 유닛일 수도 있으며, 프레임, 슬라이스, 최대 코딩 유닛 (LCU), 코딩 유닛 (CU), 블록, 픽셀 및 서브-픽셀을 포함할 수 있지만 이들에 제한되지는 않는다. 비디오 유닛의 값은 예를 들어, 비디오 유닛에 대한 예측 유닛 (PU) 을 생성함으로써 결정될 수도 있다.
프로세스 (1500) 는 블록 1501 에서 시작된다. 블록 1502 에서, 인코더 (20) 는 제 1 가중 팩터를 결정하고 그 제 1 가중 팩터를 EL 에서의 적어도 하나의 추가적인 비디오 유닛에 기초한 인트라 예측 값에 적용한다. 예를 들어, 인트라 예측 값은 EL 에서의 하나 이상의 추가적인 비디오 유닛들에 기초할 수도 있다. 추가적인 비디오 유닛들은 현재의 EL 비디오 유닛의 이웃하는 비디오 유닛들일 수도 있다. 인트라 예측은 특정 인트라 예측 모드에 기초할 수도 있다. 하나의 실시형태에서, 인트라 예측 모드는 평면 인트라 예측이다. 평면 인트라 예측은 현재의 EL 비디오 유닛의 하나 이상의 수평 및/또는 수직 이웃하는 비디오 유닛들을 이용하는 인트라 예측을 지칭할 수 있다. 제 1 가중 팩터를 결정하는 것이 블록 1502 에 대하여 더 상세히 설명될 것이다.
하나의 실시형태에서, 인트라 예측 값은 평면 인트라 예측에 기초하여 결정된다. 다른 실시형태에서, 향상 계층에서의 적어도 하나의 추가적인 비디오 유닛은 현재의 EL 비디오 유닛의 수평 이웃하는 비디오 유닛 또는 수직 이웃하는 비디오 유닛이다.
블록 1503 에서, 인코더 (20) 는 제 2 가중 팩터를 결정하고, 그 제 2 가중 팩터를 RL 에서의 공동배치된 비디오 유닛의 값에 적용한다. 참조 계층은 예를 들어 향상 계층에 대하여 기본 계층일 수도 있다. RL 에서의 공동배치된 비디오 유닛은 현재의 EL 비디오 유닛의 포지션에 대응하는 RL 에서의 포지션에 위치결정될 수도 있다. 제 1 및 제 2 가중 팩터들은 다양한 방식들로 결정 또는 선택될 수도 있다. 하나의 실시형태에서, 제 1 및 제 2 가중 팩터들 중 적어도 하나는 0 과 1 사이이다. 다른 실시형태에서, 제 1 및 제 2 가중 팩터들은 비디오 유닛 포지션에 기초하여 미리결정된 값들의 그룹으로부터 선택될 수도 있다. 소정의 실시형태에서, 제 1 및 제 2 가중 팩터들은 비디오 유닛 포지션에 기초하여 계산될 수도 있다.
또 다른 실시형태에서, 제 1 및 제 2 가중 팩터들 (W1, W2) 은 다음의 식에 따라 계산될 수도 있다 : W1 = (x+y)/폭 및 W2 = 1-W1. 그 식에서, x 는 비디오 정보의 블록 내에서 x 방향을 따르는 비디오 유닛의 포지션에 대응하고, y 는 블록 내에서 y 방향을 따르는 비디오 유닛의 포지션에 대응하며, 폭은 블록의 폭에 대응한다.
제 1 및 제 2 가중 팩터들은 비트스트림으로 시그널링될 수도 있다. 제 1 및 제 2 가중 팩터들은 비트스트림으로 시그널링되지 않을 수도 있다. 제 1 및 제 2 가중 팩터들은 비트스트림으로 수신될 수도 있고, 또는 비트스트림에서의 정보로부터 적어도 부분적으로 도출될 수도 있다.
블록 1504 에서, 인코더 (20) 는 적어도 하나의 추가적인 EL 비디오 유닛에 기초한 인트라 예측 값의 가중된 값 및 공동배치된 RL 비디오 유닛의 가중된 값에 적어도 부분적으로 기초하여 현재의 EL 비디오 유닛의 값을 결정한다. 하나의 실시형태에서, 비디오 유닛의 값은 비디오 유닛에 대한 예측 유닛 (PU) 을 생성함으로써 결정될 수도 있다. 프로세스 (1500) 는 블록 1505 에서 종료한다.
도 16 은 본 개시물의 양태들에 따른 가중된 평면 인트라 예측을 위한 일 예의 방법을 예시하는 플로우차트이다. 프로세스 (1600) 는 인코더 (예를 들어, 도 2 에 도시한 바와 같은 인코더 등) 또는 디코더 (예를 들어, 도 3 에 도시한 바와 같은 디코더 등) 에 의해 수행될 수도 있다. 프로세스 (1600) 의 블록들은 도 3 의 디코더 (30) 에 대하여 설명되지만, 프로세스 (1600) 는 상기 언급한 바와 같이, 디코더와 같은 다른 컴포넌트들에 의해 수행될 수도 있다. 도 16 에 대하여 설명된 모든 실시형태들은 개별적으로 구현될 수도 있고, 또는 서로 결합하여 구현될 수도 있다. 프로세스 (1600) 에 관한 상세들 중 일부가 도 14 에 대하여 설명된다.
프로세스 (1600) 는 향상 계층 (EL) 에서의 픽셀의 예측 값을 결정하도록 구현될 수도 있다. EL 에서의 픽셀은 간략화를 위해 도 16 에 대한 설명에서 "현재의 EL 픽셀" 로 지칭될 수도 있다. 비디오 유닛은 비디오 데이터의 임의의 유닛일 수도 있으며, 프레임, 슬라이스, 최대 코딩 유닛 (LCU), 코딩 유닛 (CU), 블록, 픽셀, 및 서브-픽셀을 포함할 수 있지만 이들에 제한되지는 않는다. 비디오 유닛의 값은 예를 들어 비디오 유닛에 대한 예측 유닛 (PU) 을 생성함으로써 결정될 수도 있다.
프로세스 (1600) 는 블록 1601 에서 시작된다. 블록 1602 에서, 디코더 (30) 는 참조 계층 및 대응하는 향상 계층 (EL) 과 연관된 비디오 정보를 저장한다. 참조 계층은 기본 계층일 수도 있다. 블록 1603 에서, 디코더 (30) 는 참조 계층에서의 복수의 픽셀들의 평균 값을 결정한다. 예를 들어, 디코더 (30) 는 현재의 EL 픽셀에 대해 DC 인트라 예측을 수행할 수도 있다. DC 인트라 예측은 일반적으로 현재의 EL 픽셀의 이웃하는 픽셀들의 평균 값에 기초하여 계산된다. 일부 실시형태에서, DC 예측 값은 도 14 에 대하여 설명한 바와 같이 다음의 식에 따라 결정될 수도 있다 :
하나의 실시형태에서, 디코더 (30) 는 현재의 EL 픽셀이 향상 계층에서의 적어도 하나의 이웃하는 비디오 유닛을 갖지 않을 때 참조 계층에서의 복수의 픽셀들의 평균 값에 적어도 부분적으로 기초하여 현재의 EL 픽셀의 예측 값을 결정한다. 하나의 실시형태에서, 디코더 (30) 는 현재의 EL 픽셀이 좌측 및 우측 에지를 갖는 블록 내에 포지셔닝되고, 현재의 EL 픽셀이 좌측 및 우측 에지들 중 적어도 하나를 따라 포지셔닝될 때 참조 계층에서의 복수의 픽셀들의 평균 값에 적어도 부분적으로 기초하여 현재의 EL 픽셀의 예측 값을 결정한다.
블록 1604 에서, 디코더 (30) 는 참조 계층에서의 복수의 픽셀들의 평균 값에 적어도 부분적으로 기초하여 현재의 EL 픽셀의 예측 값을 결정한다. 프로세스 (1600) 는 블록 1605 에서 종료한다.
도 17 은 본 개시물의 양태들에 따른 가중된 평면 인트라 예측을 위한 일 예의 방법을 예시하는 플로우차트이다. 프로세스 (1700) 는 인코더 (예를 들어, 도 2 에 도시한 바와 같은 인코더 등) 또는 디코더 (예를 들어, 도 3 에 도시한 바와 같은 디코더 등) 에 의해 수행될 수도 있다. 프로세스 (1700) 의 블록들은 도 3 의 디코더 (30) 에 대하여 설명되지만, 프로세스 (1700) 는 상기 언급한 바와 같이, 디코더와 같은 다른 컴포넌트들에 의해 수행될 수도 있다. 도 17 에 대하여 설명된 모든 실시형태들은 개별적으로 구현될 수도 있고, 또는 서로 결합하여 구현될 수도 있다. 프로세스 (1700) 에 관한 상세들 중 일부는 상기 설명된다.
프로세스 (1700) 는 향상 계층에서의 비디오 유닛에 평활화 필터를 적용하도록 구현될 수도 있다. EL 에서의 비디오 유닛은 간략화를 위해 도 17 에 대한 설명에서 "EL 에서의 현재의 비디오 유닛" 또는 "현재의 비디오 유닛" 으로 지칭될 수도 있다. 비디오 유닛은 비디오 데이터의 임의의 유닛일 수도 있으며, 프레임, 슬라이스, 최대 코딩 유닛 (LCU), 코딩 유닛 (CU), 블록, 픽셀 및 서브-픽셀을 포함할 수 있지만, 이들에 제한되지는 않는다. 비디오 유닛의 값은 예를 들어, 비디오 유닛에 대한 예측 유닛 (PU) 을 생성함으로써 결정될 수도 있다.
프로세스 (1700) 는 블록 1701 에서 시작된다. 블록 1702 에서, 디코더 (30) 는 EL 에서의 현재의 비디오 유닛이 픽셀 값인지 여부를 결정한다. 예를 들어, 현재의 비디오 유닛은 픽셀 도메인에서의 비디오 유닛일 수도 있다. 블록 1703 에서, 현재의 비디오 유닛이 픽셀 값인 경우, 디코더 (30) 는 블록 1704 에서, 현재의 비디오 유닛 및 그 현재의 비디오 유닛에 인접하는 적어도 하나의 추가적인 비디오 유닛에 평활화 필터를 적용한다. 현재의 비디오 유닛이 픽셀 값이 아니라면, 프로세스 (1700) 는 블록 1705 에서 종료할 수도 있다.
하나의 실시형태에서, 현재의 비디오 유닛이 픽셀 값이 아니라면, 디코더 (30) 는 현재의 비디오 유닛 및 그 현재의 비디오 유닛에 인접하는 적어도 하나의 추가적인 비디오 유닛에 평활화 유닛을 적용하는 것을 억제한다. 예를 들어, 현재의 비디오 유닛은 차이 도메인에서의 비디오 유닛일 수도 있다. 차이 도메인은 향상 계층 비디오 유닛들에서 기본 계층 비디오 유닛들을 감산함으로써 형성된 차이 비디오 계층을 지칭할 수도 있고, 또는 그 역도 마찬가지이다.
도 18 은 본 개시물의 양태들에 따른 가중된 평면 인트라 예측을 위한 일 예의 방법을 예시하는 플로우차트이다. 프로세스 (1800) 는 인코더 (예를 들어, 도 2 에 도시한 바와 같은 인코더 등) 또는 디코더 (예를 들어, 도 3 에 도시한 바와 같은 디코더 등) 에 의해 수행될 수도 있다. 프로세스 (1800) 의 블록들은 도 2 의 인코더 (20) 에 대하여 설명되지만, 프로세스 (1800) 는 상기 언급한 바와 같이, 디코더와 같은 다른 컴포넌트들에 의해 수행될 수도 있다. 도 18 에 대하여 설명된 모든 실시형태들은 개별적으로 구현될 수도 있고, 또는 서로 결합하여 구현될 수도 있다. 프로세스 (1800) 에 관한 상세들 중 일부는 상기 설명된다.
프로세스 (1800) 는 향상 계층 내의 포지션에 포지셔닝된 비디오 유닛의 값을 결정하도록 구현될 수도 있다. EL 내의 포지션에 포지셔닝된 비디오 유닛은 간략화를 위해 도 18 에 대한 설명에서 "현재의 EL 비디오 유닛" 으로 지칭될 수도 있다. 비디오 유닛은 비디오 데이터의 임의의 유닛일 수도 있으며, 프레임, 슬라이스, 최대 코딩 유닛 (LCU), 코딩 유닛 (CU), 블록, 픽셀, 및 서브-픽셀을 포함할 수 있지만, 이들에 제한되지는 않는다. 비디오 유닛의 값은 예를 들어, 비디오 유닛에 대한 예측 유닛 (PU) 을 생성함으로써 결정될 수도 있다.
프로세스 (1800) 는 블록 1801 에서 시작된다. 블록 1802 에서, 인코더 (20) 는 픽셀 정보의 차이 비디오 계층과 연관된 차이 비디오 정보를 저장한다. 차이 비디오 계층은 향상 계층과 대응하는 참조 계층 간의 차이로부터 도출될 수도 있다. 제 1 공간 해상도는 향상 계층과 연관될 수도 있고, 제 2 공간 해상도는 참조 계층과 연관될 수도 있다.
블록 1803 에서, 제 1 공간 해상도가 제 2 공간 해상도와 동일하지 않다면, 인코더 (20) 는 블록 1804 에서, 차이 비디오 계층에 적어도 부분적으로 기초하여 향상 계층 내의 포지션에 포지셔닝된 비디오 유닛의 값을 결정한다. 예를 들어, 제 1 공간 해상도 및 제 2 공간 해상도는 SVC 에서의 공간 스케일러빌리티에 대해 상이하다. 공간 스케일러빌리티의 경우에, 인트라 예측은 차이 도메인에서 (예를 들어, 차이 비디오 계층에 기초하여) 수행될 수도 있다. 프로세스는 블록 1806 에서 종료한다.
블록 1803 에서, 제 1 공간 해상도가 제 2 공간 해상도와 동일하다면, 인코더 (20) 는 블록 1805 에서, 차이 비디오 계층에 적어도 부분적으로 기초하여 비디오 유닛의 값을 결정하는 것을 억제한다. 예를 들어, 제 1 공간 해상도 및 제 2 공간 해상도는 SVC 에서의 신호 대 잡음비 (SNR) 스케일러빌리티 (예를 들어, 품질) 에 대해 동일할 수도 있다. SNR 스케일러빌리티의 경우에, 차이 도메인에서의 (예를 들어, 차이 비디오 계층에 기초한) 인트라 예측은, SNR 스케일러빌리티가 존재하는 경우에 차이 도메인 신호들이 일반적으로 양자화 손실을 나타내기 때문에 디스에이블될 수도 있다. 하나의 실시형태에서, 인코더 (20) 는 공간 스케일러빌리티의 경우에 차이 도메인 예측 플래그를 시그널링할 수도 있지만, SNR 스케일러빌리티의 경우에는 시그널링하지 못할 수도 있다. 프로세스 (1800) 는 블록 1806 에서 종료한다.
인트라 평면 모드 예측
도 19 는 평면 인트라 예측 모드의 일 예를 예시한다. 상기 설명한 바와 같이, 평면 모드는 HEVC 에서의 인트라 예측 모드들 중 하나이다. 평면 모드는 예시를 목적으로 설명되지만, 본 명세서에서 설명된 기법들은 모든 인트라 예측 모드들로 확장될 수 있다. 평면 모드에서, 예측 샘플들은 도 19 에 도시한 바와 같이, 좌측, 상부, 우측 상부, 및 좌측 하부 이웃하는 샘플들에 기초하여 도출될 수도 있다. 그 이웃하는 샘플들은 인접하는 좌측, 상부, 우측 상부, 및 좌측 하부 예측 유닛들로부터 완전히 복원된 샘플들일 수도 있다. 그 샘플들이 이용가능하지 않다면, HEVC 초안은 이용가능한 샘플들로부터 이용불가능한 샘플들을 추정하기 위한 일 세트의 룰들을 정의할 수도 있다. 또한, 우측 및 하부 샘플들은 HEVC 에서 후속되는 래스트 순서 코딩으로 인해 예측에 이용가능하지 않을 수도 있다. SVC 확장에서, 비디오 데이터의 다수의 계층들이 존재할 수 있으며, 인트라 예측이 다양한 방식들로 수행될 수도 있다. 일부 예들은 이하 설명된다.
기본 및 향상 계층 예측 샘플들의 조합을 이용한 향상 계층들에 대한 인트라 예측 개선들
도 20 은 스케일러블 비디오 코딩을 위한 평면 모드 인트라 예측 확장의 하나의 실시형태를 예시한다. 멀티-루프 디코딩 시나리오에서, 향상 계층은 기본 계층으로부터의 더 많은 샘플들을 이용하여 예측을 개선할 수 있다. HEVC 는 SVC 에 대해 멀티-루프 디코딩을 허용하며, 이 경우 SVC 계층은 다수의 모션 보상 루프들을 이용하여 디코딩될 수도 있다. 예를 들어, 기본 계층은 먼저 완전히 디코딩된 후, 향상 계층이 디코딩된다. 추가적인 샘플들은 공동배치된 기본 계층 블록 또는 그 공동배치된 기본 계층 블록의 이웃하는 샘플들로부터의 것일 수 있다. 예를 들어, 우측 및 하부 샘플들은 향상 계층에서 이용가능하지 않을 수도 있으며, 평면 모드는 도 20 에 도시한 바와 같이 공동배치된 기본 계층 이웃하는 샘플들로부터 우측 및 하부 샘플들을 이용하도록 확장될 수 있다.
다양한 실시형태들은 기본 및 향상 계층 예측 샘플들의 조합을 이용한 향상 계층 인트라 예측에 대해 이하 설명된다. 이하 설명된 모든 실시형태들은 개별적으로 구현될 수도 있고, 또는 서로 결합하여 구현될 수도 있다.
실시형태 1 : 향상 계층에서의 인트라 예측은 예측을 위해 기본 계층으로부터의 추가적인 공동배치된 샘플들 또는 기본 계층으로부터의 공동배치된 이웃하는 샘플들을 이용할 수도 있다.
실시형태 2 : 향상 계층에서의 인트라 예측은 향상 계층에서의 현재의 블록의 이웃하는 샘플들의 일부 또는 전부를 기본 계층으로부터의 공동배치된 샘플들 또는 공동배치된 이웃하는 샘플들의 일부 또는 전부로 대체할 수도 있다.
실시형태 3 : 향상 계층에서의 인트라 예측은 향상 계층 샘플들 및 기본 계층으로부터의 공동배치된 샘플들의 조합을 이용할 수도 있다.
실시형태 4 : 대안으로 및/또는 추가적으로, 현재의 블록 이외의 단 하나의 기본 계층 우측 하부 픽셀이 이용될 수도 있다. 도 21 은 기본 및 향상 계층 예측 샘플들의 조합을 이용한 향상 계층 인트라 예측의 하나의 실시형태를 예시한다. 평면 예측을 위해 이용되는 예측 블록 이외의 우측 컬럼 및 하부 로우에서의 픽셀들은 도 21 에 도시한 바와 같이 대응하여 외곽의 (outer) 우측 하부의 기본 계층 픽셀 (도 21 의 우측 하부 코너의 원) 과 외곽의 우측 상부의 향상 계층 픽셀 (도 21 의 우측 상측 코너의 원) 과 외곽의 좌측 하부의 향상 계층 픽셀 (도 21 의 좌측 하부 코너의 원) 간의 리니어 또는 넌-리니어 보간으로서 얻어질 수 있다.
1. 계층 의존적 코딩 스캔 패턴
모드 의존적 적응적 스캔 순서가 HEVC WD8 에서 제안되었다. 모드 의존적 적응적 스캔 순서에서, 스캐닝 패턴은 인트라 잔차 계수들에 대한 인트라 예측 모드에 기초하여 대각선, 수평, 및 수직 간에 선택될 수 있다. 인트라 잔차 계수들은 인트라 예측의 결과로서 생성될 수 있는 양자화된 계수들을 지칭할 수도 있다. 그들은 또한 양자화된 계수들로 지칭될 수도 있다. 이것은 개선된 레이트-왜곡 트레이드오프를 야기할 수 있다. 디코더 관점에서, 스캐닝 패턴은 인트라 예측 모드가 디코딩되지마자 결정될 수 있으며, 이 스캐닝 패턴은 계수들을 디코딩하는 동안 후속하여 이용될 수 있다.
본 개시물은 2012년 8월 31일자로 출원된 미국 가출원 제61/696,098호 및 2012년 9월 28일자로 출원된 미국 가출원 제61/707,145호의 개시물들 전체를 참조로 본 명세서에 통합한다. 상기 가출원(들)의 적어도 일부에서, 향상 계층은 공동배치된 기본 계층 인트라 예측 모드를 MPM 후보들 중 하나로서 이용할 수 있는 것으로 제안된다. 이것은 향상 계층에서의 파싱 의존성 (parsing dependency), 예를 들어 EL 인트라 예측 모드를 디코딩하는 동안 BL 모드가 이용가능해야 하는 의존성을 도입할 수 있다. 소정의 실시형태들에서, 이것은 1) 기본 계층 비트스트림이 손실 또는 손상되는 경우, 또는 2) 계층들에 걸친 파싱 의존성이 우선사항이 아닐 수도 있는 하드웨어 구현들의 경우 바람직하지 않을 수도 있다.
다양한 실시형태들은 계층들에 관한 정보에 기초하여 코딩 스캔 패턴들을 적응적으로 선택하기 위해 이하 설명된다. 이하 설명된 모든 실시형태들은 개별적으로 구현될 수도 있고, 또는 서로 결합하여 구현될 수도 있다.
실시형태 1 : 코딩 스캔 패턴은 계층 ID 에 기초하여 적응적으로 선택될 수도 있다. 예를 들어, 계층 ID 는 SVC 에서의 각각의 계층과 연관될 수도 있다. 계층 ID 는 계층의 식별자일 수도 있다. 향상 계층은 기본 계층과 비교하여 상이한 코딩 스캔 패턴을 이용할 수 있다. 예를 들어, EL 은 고정 스캐닝 패턴을 이용할 수 있다. 하나의 예에서, 하나의 스캔 패턴은 기본 계층 인트라 모드 예측이 그 시퀀스 또는 프레임에 대해 인에이블되든 안되든 간에 EL 에서의 모든 인트라 예측 모드들에 대해 이용될 수 있다. 이것은 EL 파싱 스테이지에서의 파싱 의존성을 회피할 수 있다.
실시형태 2 : 코딩 스캔 패턴은 기본 계층 픽처가 현재의 픽처에 대한 인터-계층 예측으로서 이용가능한지 여부에 기초하여 적응적으로 선택될 수도 있다. 향상 계층은 기본 계층과 비교하여 상이한 코딩 스캔 패턴을 이용할 수 있다. 예를 들어, EL 은 고정 스캐닝 패턴을 이용할 수 있다. 하나의 예에서, 하나의 스캔 패턴은 기본 계층 인트라 모드 예측이 그 시퀀스 또는 프레임에 대해 인에이블되든 안되든 간에 EL 에서의 모든 인트라 예측 모드들에 대해 이용될 수 있다. 이것은 EL 파싱 스테이지에서의 파싱 의존성을 회피할 수 있다.
실시형태 3 : 코딩 스캔 패턴은 기본 계층 인트라 모드 예측이 현재의 픽처에 대해 인에이블되는지 안되는지 여부에 기초하여 적응적으로 선택될 수도 있다. 향상 계층은 기본 계층과 비교하여 상이한 코딩 스캔 패턴을 이용할 수 있다. 예를 들어, EL 은 고정 스캐닝 패턴을 이용할 수 있다. 하나의 예에서, 하나의 스캔 패턴은 기본 계층 인트라 모드 예측이 그 시퀀스 또는 프레임에 대해 인에이블되든 안되든 간에 EL 에서의 모든 인트라 예측 모드들에 대해 이용될 수 있다. 이것은 EL 파싱 스테이지에서의 파싱 의존성을 회피할 수 있다.
실시형태 4 : 실시형태 1, 실시형태 2, 및 실시형태 3 에서, 향상 계층에 대한 고정 스캐닝 패턴은, 기본 계층 인트라 모드 예측이 그 시퀀스 및/또는 프레임에 대해 인에이블되든 안되든 간에 EL 에서의 모든 인트라 예측 모드들에 대해 대각선 스캔 패턴일 수도 있다.
2. 단순화된 차이 도메인 인트라 예측
차이 도메인 인트라 예측은 JCT-VC-K0036 에서 제안되었다. JCT-VC-K0036 에 관한 상세들은 http://phenix.int-evry.fr/jct/ 에서 확인될 수도 있으며, 이는 본 명세서에 참조에 의해 통합된다. 도 22 는 제안된 인트라 잔차 예측 모드의 하나의 실시형태를 예시한다. 제안된 인트라 잔차 예측 모드에서, 현재의 이웃들의 픽셀들과 공동배치된 BL 이웃들의 픽셀들 간의 차이는 인트라 예측 모드에 기초한 차이 예측을 생성하는데 이용된다. 생성된 차이 예측 신호는 최종의 예측을 형성하기 위해 공동배치된 BL 블록 신호에 가산된다. 차이 신호에 대한 인트라 예측 모드들의 수는 비-차이 (non-difference) 및/또는 인트라 신호의 수와 동일한 것으로 제안되었다. 인트라 잔차 예측 모드는 예를 들어, CU 레벨에서 플래그 intra_resi_pred_flag 에 의해 나타내진다.
차이 도메인 신호는 고주파수 컴포넌트들을 포함할 수도 있고, 다양한 인트라 예측 모드들은 비-차이 도메인 신호 (예를 들어, 픽셀 도메인 신호) 에 대해 양호한 예측 결과들을 야기하지 못할 수도 있다. 따라서, 본 개시물에서 설명된 기법들은 더 나은 예측 결과들을 야기하기 위해 차이 도메인에서의 인트라 예측을 단순화할 수 있다. 일부 실시형태들은 이하 예시된다. 이하 설명된 모든 실시형태들은 개별적으로 구현될 수도 있고, 또는 서로 결합하여 구현될 수도 있다. 본 개시물에서, 보통의 인트라 예측은 픽셀 도메인 등과 같은 비-차이 도메인에서의 인트라 예측을 지칭할 수도 있다.
실시형태 1 : 상이한 세트 및/또는 수의 인트라 예측 모드들이 보통의 인트라 예측으로부터의 차이 도메인에서 이용된다.
실시형태 2 : 실시형태 1 에 대해, 인트라 예측 모드들의 수는 차이 도메인에서 감소될 수 있다. 예를 들어, 단 2 개의 모드들만이 차이 도메인에 대해 이용될 수 있다. 예를 들어, 2 개의 모드들은 1) 수평 및 수직, 2) 평면 및 수직, 또는 3) 평면 및 수평일 수도 있다. 2 개의 모드들의 선택은 상기 모드들 또는 조합들에 제한되지 않으며, 인트라 예측에서 정의된 35 개의 모드들 중 임의의 것이 선택될 수 있다. 그 선택은 현재의 프레임, 또는 EL 및/또는 BL 로부터의 임시 프레임들의 EL 및/또는 BL 정보 데이터에 기초할 수 있다. 인트라 예측 모드들의 수를 감소시키는 것은, 시그널링 비용을 감소시킬 수 있으며, 예를 들어, 다른 모드들을 이용하지 않기 때문에 예측 품질의 제한된 손실을 야기할 수도 있다. 데이터는 모드들, 복원된 현재 또는 이웃하는 픽셀들 등을 포함할 수 있다.
실시형태 3 : 실시형태 1 및 실시형태 2 에 대해, 선택된 최상의 모드는 CU 또는 PU 레벨에서의 플래그 또는 인덱스를 이용하여 디코더에 시그널링될 수 있다. 이 플래그 또는 인덱스는 콘텍스트 코딩될 수 있으며, 콘텍스트 선택은 이웃하는 CU 또는 PU 모드들, EL 픽셀들, 및/또는 BL 픽셀들에 기초할 수도 있고 또는 기초하지 않을 수도 있다. 플래그의 시그널링은 잔차 예측 플래그를 시그널링한 후 행해질 수도 있다.
실시형태 4 : 차이 도메인에서의 인트라 예측 모드들의 수는 단 3 개의 모드들만으로 감소될 수 있다. 이들 3 개의 모드들은 가장 가능성있는 인트라 모드 (Most Probable Intra Mode; MPM) 도출 프로세스의 일부로서 도출된 모드들일 수도 있다.
실시형태 5 : 실시형태 4 에 대해, mpm_prediction 플래그는 모드 의존적인 것으로 시그널링될 수도 있다. 이 실시형태에서, mpm_prediction 플래그는 시그널링되지 않고, 디코더는 모드 (예를 들어, 차이 도메인 인트라 모드 또는 보통의 인트라 모드) 로부터 정보를 도출한다. 그 정보는 MPM 리스트가 인트라 모드 선택을 위해 이용되는 곳, 번호, 차이 도메인 인트라 예측에서 이용되는 모드들의 수 등을 포함할 수도 있다.
실시형태 6 : 실시형태 1 내지 실시형태 6 은 유사한 방식으로 보통의 인트라 예측으로 확장될 수 있다.
실시형태 7 : 인트라 예측 모드 번호는 계층 ID 에 의존적이다. 예를 들어, 기본 계층 및 향상 계층은 상이한 세트 및/또는 수의 인트라 예측 모드들을 이용한다.
실시형태 8 : 실시형태 7 에 대해, 기본 계층 코딩에서보다 더 적은 수의 인트라 예측 모드들이 향상 계층 코딩에서 이용된다.
3. JCTVC-K0032 및 JCTVC-K0040 의 DC 인접 방법을 위한 이웃하는 픽셀들로부터의 DC 의 이용
DC 조정 방법은 JCTVC-K0032 및 JCTVC-K0040 에서 제안되었다. JCTVC-K0032 및 JCTVC-K0040 에 관한 상세들은 http://phenix.int-evry.fr/jct/ 에서 확인될 수도 있으며, 이는 본 명세서에 참조에 의해 통합된다. 이 방법에서, DC 조정은 블록의 DC 가 대응하는 기본 계층 블록의 것에 매칭하게 되는 방식으로 향상 계층 인트라 예측된 샘플 값들을 조정하기 위하여 사이즈 4x4, 8x8, 또는 그 이상의 인트라 예측 블록들에 대해 적용된다. 프로세스는 다음과 같이 표현될 수 있다 :
여기서,
P(x,y) 는 향상 계층 픽처에서의 최종 예측된 샘플을 나타내고;
P'(x,y) 는 HEVC (버전 1) 인트라 예측 프로세스 이후의 예측된 향상 계층 샘플을 나타내며;
de_delta = (공동배치된 기본 계층 예측 블록들의 DC 값) - (P'(x,y) 블록들의 DC 값) 이다.
본 개시물에서 설명된 기법들은 HEVC 인트라 예측 프로세스 이후의 예측된 향상 계층 샘플 대신에 이웃하는 복원된 픽셀들을 이용할 수 있다. 이것은 JCTVC-K0032 및 JCTVC-K0040 에서 제안된 방법들에 의해 도입된 지연을 제거할 수 있고, 또한 감소된 수의 픽셀 세트로 인해 DC 컴퓨테이션을 단순화할 수 있다. 다양한 실시형태들이 이하 설명된다. 이하 설명된 모든 실시형태들은 개별적으로 구현될 수도 있고, 또는 서로 결합하여 구현될 수도 있다.
실시형태 1 : 이웃하는 픽셀들로부터 도출된 DC 값은 dc_delta 를 컴퓨팅하는데 이용될 수 있다. 예를 들어, 상기 식 1 에서, dc_delta 는 다음과 같이 결정될 수 있다 :
dc_delta = (공동배치된 기본 계층 예측 블록들의 DC 값) - (EL 이웃하는 픽셀들의 DC 값).
실시형태 2 : 실시형태 1 에 대해, EL 이웃하는 픽셀들 전부로부터 도출된 DC 값은 dc_delta 를 컴퓨팅하는데 이용될 수 있다.
실시형태 3 : 실시형태 1 에 대해, 인트라 예측 방향에 기초하여 EL 이웃하는 픽셀들 중 일부로부터 도출된 DC 값은 dc_delta 를 컴퓨팅하는데 이용될 수 있다. 하나의 예에서, 수직 예측 모드의 경우, 상위 이웃하는 샘플들만이 DC 값을 컴퓨팅하기 위해 이용될 수 있다. 다른 예에서, 수평 모드의 경우, 좌측 이웃하는 샘플들만이 DC 값을 컴퓨팅하기 위해 이용될 수 있다.
실시형태 4 : 실시형태 1 에 대해, 그 특정 인트라 예측 모드에 대해 이용되고 있는 그 EL 이웃하는 픽셀들만으로부터 도출된 DC 값이 dc_delta 를 컴퓨팅하는데 이용될 수 있다. 하나의 예에서, 수직 예측 모드의 경우, 단지 상위 이웃하는 샘플들만이 DC 값을 컴퓨팅하기 위해 이용된다.
4. 차이 도메인 잔차들에 대한 인트라 예측 방향 의존적 1-D 변환
상기 설명한 바와 같이, 일 예시적인 비디오 코더는 모션 예측, 변환, 양자화, 엔트로피 코딩 등과 같은 코딩 기법들을 이용할 수도 있다. 이들 기법들은 일반적으로 코딩 유닛들로 불리는 프레임의 장방형 블록들 및/또는 영역들에 적용될 수 있다.
그 블록들의 예측 잔차들은 일반적으로 출력들이 스칼라 양자화와 같은 기법들을 이용하여 효율적으로 코딩될 수 있도록 신호들을 무상관하기 위해 DCT 및/또는 DST ("이산 코사인 변환" 또는 "이산 사인 변환") 등의 기법들을 이용하여 변환될 수 있다. HEVC 에서, 2-D DCT 및/또는 DST 변환이 2D 블록을 한번에 변환하기 위해 정의될 수도 있다.
상기 설명한 바와 같이, 차이 도메인 블록 잔차들의 특성들은 다른 블록 타입들과는 상이할 수도 있으며, 2-D DCT 및/또는 DST 는 코딩 효율 면에서 좋은 선택이 아닐 수도 있다. 따라서, 본 개시물에서 설명된 기법들은 차이 도메인 잔차 코딩을 위해 대안의 변환들을 적용할 수 있다.
인트라 예측 방향 의존적 방향 변환에 대한 다양한 실시형태들이 이하 설명된다. 이하 설명된 모든 실시형태들은 개별적으로 구현될 수도 있고, 또는 서로 결합하여 구현될 수도 있다.
실시형태 1 : 비디오 인코더에서, 프라이머리 변환 (예를 들어, 2-D DCT 및/또는 DST) 이 모든 블록 코딩 모드들에 대해 이용될 수 있다. 상이한 모드들 (예를 들어, 인터 코딩, 인트라 코딩, 무손실 코딩 등등) 의 경우, 2-D DCT 또는 DST 는 모든 블록들에 대해 이용될 수도 있고, 2-D DCT 또는 DST 의 선택은 그 모드에 의존할 수도 있고 또는 시그널링될 수도 있다. 이 실시형태에 따르면, 프라이머리 변환과는 상이한 변환이 인트라 예측 방향에 기초한 차이 도메인에 대해 이용될 수 있다.
실시형태 2 : 변환은 인트라 예측 방향을 따라 1-D DCT 또는 DST 일 수도 있다. 예를 들어, 45도 인트라 각도 예측의 경우, 변환은 도 23 에 예시한 바와 같을 수도 있다.
실시형태 3 : 차이 도메인 잔차들의 경우, 그 변환은 1-D DCT, DST, KLT, 또는 예측 방향을 따른 임의의 다른 1-D 변환일 수도 있다. 그 변환의 선택은 적응적일 수 있으며, 시그널링 또는 도출될 수 있다. 예를 들어, 변환의 선택은 프레임, 슬라이스, CU, PU 레벨 등에서 시그널링될 수 있다. 변환의 선택은 또한, 모드 정보, QP 정보, 픽셀 정보, 예측 방향 정보 등을 포함할 수도 있는 EL 또는 BL 정보로부터 도출될 수 있다. 일부 예들에서, 그 선택은 미리 정의되고 인코더 및 디코더에 공지될 수도 있다.
실시형태 4 : 실시형태 1, 실시형태 2, 실시형태 3 은 또한 비-차이 도메인 인트라 잔차들로 확장될 수 있다.
5. JCT-VC K0139 의 컨투어링 변형들의 모드 또는 계층 의존적 인에이블링
JCT-VC K0139 는 컨투어링 아티팩트들을 회피하기 위해 인트라 평활화 필터를 32x32 인트라 예측에서의 참조 샘플들의 바이-리니어 보간으로 대체하는 솔루션을 제안한다. 블록 기반 비디오 코딩을 수행할 때, 양자화로 인해, 컨투어링 아티팩트들을 포함하여, 여러 타입들의 아티팩트들이 나타날 수 있다. 평활한 영역들이 양자화될 때, 결과의 시각 효과는 디스플레이된 이미지에서의 갑작스럽고 고립된 스텝 또는 "컨투어" 일 수 있으며, 여기서 스텝의 일면의 픽셀들이 하나의 양자화 레벨에 할당될 수도 있고, 타면의 픽셀들이 이웃하는 레벨에 할당될 수도 있다. 이 효과는 "컨투어링" 으로 지칭될 수도 있다. 기본 계층에서, 컨투어링 아티팩트들은 32x32 블록들에서의 인트라 예측된 샘플 어레이 (predSamples) 를 생성하는 프로세스 동안 참조 샘플들로부터의 블록킹 아티팩트들의 전파로 인해 일어날 수도 있다.
향상 계층에서의 예측 및 잔차 특성들은 기본 계층과는 매우 상이할 수도 있다. 따라서, JCT-VC K0139 에서의 제안된 기법은 컨투어링 아티팩트들을 감소시키는데 있어서 효과적이지 않을 수도 있고, 상이한 종류들의 아티팩트들을 도입할 수도 있다. 아티팩트는 수반된 기법에 의한 압축 프로세스에서 도입된 비디오 및/또는 이미지 데이터에서의 변화 (alteration) 를 지칭할 수도 있다.
컨투어링 변형들의 모드 또는 계층 의존적 인에이블에 대한 다양한 실시형태들이 이하 설명된다. 이하 설명된 모든 실시형태들은 개별적으로 구현될 수도 있고, 또는 서로 결합하여 구현될 수도 있다.
실시형태 1 : 기본 계층에 대한 JCT-VC K0139 의 제안된 변형은 계층 의존적일 수도 있고, 향상 계층에서 스위치 오프될 수도 있다.
실시형태 2 : 기본 계층에 대한 JCT-VC K0139 의 제안된 변형은 모드 의존적일 수도 있고 상이한 도메인 인트라 예측과 같은 향상 계층 새롭게 부가된 모드들 전부 또는 몇몇 (few) 에 대해 스위치 오프될 수도 있다. 제안된 변형은 향상 계층 코딩을 위해 보통의 인트라 예측에 여전히 적용될 수 있다.
6. 인트라 기본 예측 추론 모드
하나의 실시형태에서, 공동배치된 기본 계층 인트라 예측 모드는 MPM 리스트에 후보들 중 하나로서 포함될 수도 있다. 이것은 EL 과 BL 의 모드 분포 간에 유효 상관 (significant correlation) 이 존재할 수도 있기 때문에 이득들을 제공할 수 있다. EL 모드와 BL 모드 간의 유효 상관이 존재한다면, 그것은 기본 계층 모드에 더 큰 가중을 부여하기에 더 나을 수도 있다. 더 큰 가중치를 부여하는 하나의 예의 방식은 모드를 (예를 들어, 이 모드에 대한 시그널링 비용을 감소시키기 위해) 우선순위화하는 것일 수 있다. 우선순위화하는 것은 모드를 시그널링하는 것이 더 낮은 비트 비용을 갖도록 MPM 리스트에서 모드를 올리는 것 (push up) 을 지칭할 수도 있다.
기본 계층 인트라 예측 모드를 추론하기 위한 다양한 실시형태들이 이하 설명된다. 예를 들어, EL 에서의 현재의 비디오 유닛은 BL 에서의 공동배치된 비디오 유닛으로부터 기본 계층 인트라 예측 모드를 추론할 수 있다. 현재의 CU 에 대한 인트라 예측 모드는 기본 계층 정보로부터 추론될 수 있다. 이하 설명된 모든 실시형태들은 개별적으로 구현될 수도 있고, 또는 서로 결합하여 구현될 수도 있다.
실시형태 1 : 플래그는 기본 계층 인트라 예측 모드가 인트라 예측을 위해 이용되는 것을 나타내기 위해 프레임, 슬라이스, CU, 및/또는 PU 레벨에서 시그널링될 수도 있다. 그 모드는 모드 정보가 시그널링되지 않을 수도 있기 때문에 미리 정의될 수 있고 및/또는 인코더 및 디코더 양자에 이용가능할 수 있다.
실시형태 2 : 실시형태 1 은 차이 도메인 예측 등과 같은 다른 모드들로 확장될 수도 있다.
실시형태 3 : 실시형태 2 는 루마 컴포넌트 또는 크로마 컴포넌트 중 어느 하나에만 적용될 수도 있다.
실시형태 4 : 플래그는 콘텍스트 코딩될 수도 있다. 콘텍스트 모델링은 콘텍스트를 도출하기 위해 이웃하는 EL 블록들로부터의 정보를 이용할 수도 있다. 콘텍스트 모델링은 또한 이웃하는 EL 또는 BL 블록들로부터의 임의의 정보를 이용하지 않도록 단순화될 수도 있다.
7. 픽셀 컴포넌트 의존적 차이 도메인 인트라 예측
차이 도메인 인트라 예측은 루마 컴포넌트 및 크로마 컴포넌트에 대해 상이한 압축 효율을 제공할 수 있다. 복잡성과 압축 성능 간의 양호한 트레이드오프를 위해, 일부 애플리케이션들에서는, 단지 루마 컴포넌트들에 대해, 단지 크로마 컴포넌트들에 대해, 또는 양자에 대해 차이 도메인 인트라 예측을 적용하는 가요성을 갖는 것이 유익할 수도 있다.
픽셀 컴포넌트 의존적 차이 도메인 인트라 예측을 위한 다양한 실시형태들이 이하 설명된다. 이하 설명된 모든 실시형태들은 개별적으로 구현될 수도 있고, 또는 서로 결합하여 구현될 수도 있다.
실시형태 1 : 차이 도메인 인트라 예측은 루마 컴포넌트 또는 크로마 컴포넌트 중 어느 하나에만 적용될 수도 있다. 차이 도메인 인트라 예측을 이용하지 않는 컴포넌트의 경우, 보통의 인트라 예측이 그 컴포넌트에 대해 이용될 수도 있다.
실시형태 2 : 루마 또는 크로마 컴포넌트에만 차이 도메인 예측을 적용하기 위한 선택은 적응적일 수 있다. 그 선택은 프레임, 슬라이스, CU, PU 레벨 등에서 시그널링될 수 있다. 또는, 그 선택은 모드 정보, QP 정보, 픽셀 정보, 예측 방향 정보 등을 포함할 수도 있는, EL 또는 BL 정보로부터 도출될 수 있다. 일부 예들에서, 그 선택은 미리 정의되고 인코더 및 디코더에 공지될 수도 있다.
8. DC, 수직, 및 수평 예측을 위한 모드 또는 계층 의존적 인트라 필터링
DC, 수직, 및/또는 수평 예측을 위한 필터링이 HEVC WD8 에서 제안되었다. 필터링하는 프로세스는 도 24a 및 도 24b 에 도시된다. 도 24a 는 인트라 DC 예측을 위한 필터링의 하나의 실시형태를 예시한다. 도 24b 는 수직 및/또는 수평 예측 모드들에 대한 필터링의 하나의 실시형태를 예시한다. 향상 계층에서의 예측 및 잔차 특성들은 기본 계층과는 매우 상이할 수도 있다. 따라서, HEVC WD8 에서의 제안된 기법은 효과적이지 않을 수도 있으며, 상이한 종류들의 아티팩트들을 도입할 수도 있다.
따라서, 본 개시물에서 설명된 기법들은 모드 의존적 또는 계층 의존적이 되도록 DC, 수직, 및/또는 수평 예측들을 위한 필터링을 변형할 수도 있다. DC, 수직, 및 수평 예측들을 위한 모드 또는 계층 의존적 인트라 필터링에 대한 다양한 실시형태들이 이하 설명된다. 이하 설명된 모든 실시형태들은 개별적으로 구현될 수도 있고, 또는 서로 결합하여 구현될 수도 있다.
실시형태 1 : 기본 계층에 대한 HEVC WD8 의 DC 예측 변형을 위한 제안된 필터링은 계층 의존적일 수도 있고, 향상 계층에서 스위치 오프될 수도 있다. DC 필터링은 또한 향상 계층에 대해 계층 의존적일 수도 있다.
실시형태 2 : 기본 계층에 대한 HEVC WD8 의 DC 예측 변형을 위한 제안된 필터링은 모드 의존적일 수도 있고 상이한 도메인 인트라 예측과 같은 향상 계층 새롭게 부가된 모드들의 전부 또는 몇몇에 대해 스위치 오프될 수도 있다. 제안된 변형은 향상 계층 코딩을 위한 보통의 인트라 예측에 여전히 적용될 수 있다.
실시형태 3 : 기본 계층에 대한 HEVC WD8 의 수직 예측 변형을 위한 제안된 필터링은 계층 의존적일 수도 있고 향상 계층에서 스위치 오프될 수도 있다.
실시형태 4 : 기본 계층에 대한 HEVC WD8 의 수직 예측 변형을 위한 제안된 필터링은 모드 의존적일 수도 있고, 상이한 도메인 인트라 예측과 같은 향상 계층 새롭게 부가된 모드들의 전부 또는 몇몇에 대해 스위치 오프될 수도 있다. 제안된 변형은 향상 계층 코딩을 위한 보통의 인트라 예측에 여전히 적용될 수 있다.
실시형태 5 : 기본 계층에 대한 HEVC WD8 의 수평 예측 변형을 위한 제안된 필터링은 계층 의존적일 수도 있고, 향상 계층에서 스위치 오프될 수도 있다.
실시형태 6 : 기본 계층에 대한 HEVC WD8 의 수평 예측 변형을 위한 제안된 필터링은 모드 의존적일 수도 있고, 상이한 도메인 인트라 예측과 같은 향상 계층 새롭게 부가된 모드들의 전부 또는 몇몇에 대해 스위치 오프될 수도 있다. 제안된 변형은 향상 계층 코딩을 위한 보통의 인트라 예측에 여전히 적용될 수 있다.
상기 예에 따르면, 본 명세서에서 설명된 기법들 중 임의의 기법의 소정의 행동들 또는 이벤트들이 상이한 시퀀스로 수행될 수 있고, 함께 부가, 병합, 또는 배제될 수도 있다 (설명된 행동들 또는 이벤트들 전부가 그 기법들의 실시를 위해 필수적인 것은 아니다) 는 것이 인정될 것이다. 더욱이, 소정의 예들에서, 행동들 또는 이벤트들은 순차적이라기 보다는 예를 들어, 멀티-스레디드 프로세싱, 인터럽트 프로세싱, 또는 다중 프로세서들을 통하여 동시발생적으로 수행될 수도 있다.
하나 이상의 예들에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현된다면, 그 기능들은 컴퓨터 판독가능 매체 상에 하나 이상의 명령들 또는 코드로서 저장 또는 송신될 수도 있으며, 하드웨어 기반 프로세싱 유닛에 의해 실행될 수도 있다. 컴퓨터 판독가능 매체들은 데이터 저장 매체들과 같은 유형의 매체에 대응하는 컴퓨터 판독가능 저장 매체들, 또는 예를 들어, 통신 프로토콜에 따라 일 장소로부터 타 장소로의 컴퓨터 프로그램의 전달을 용이하게 하는 임의의 매체를 포함하는 통신 매체들을 포함할 수도 있다. 이 방식으로, 컴퓨터 판독가능 매체들은 일반적으로 (1) 비일시적인 유형의 컴퓨터 판독가능 저장 매체들 또는 (2) 신호 또는 반송파와 같은 통신 매체에 대응할 수도 있다. 데이터 저장 매체들은 본 명세서에서 설명된 기법들의 구현을 위해 명령들, 코드 및/또는 데이터 구조들을 취출하기 위해 하나 이상의 컴퓨터들 또는 하나 이상의 프로세서들에 의해 액세스될 수 있는 임의의 이용가능한 매체들일 수도 있다. 컴퓨터 프로그램 제품은 컴퓨터 판독가능 매체를 포함할 수도 있다.
제한이 아닌 일 예로, 이러한 컴퓨터 판독가능 저장 매체들은 RAM, ROM, EEPROM, CD-ROM 또는 다른 광 디스크 스토리지, 자기 디스크 스토리지, 또는 다른 자기 스토리지 디바이스들, 플래시 메모리, 또는 원하는 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 저장하는데 이용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 접속이 컴퓨터 판독가능 매체로 적절히 불리게 된다. 예를 들어, 명령들이 동축 케이블, 광섬유 케이블, 트위스티드 페어, 디지털 가입자 회선 (DSL), 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들을 이용하여 웹사이트, 서버, 또는 다른 원격 소스로부터 송신된다면, 매체의 정의에는, 동축 케이블, 광섬유 케이블, 트위스티드 페어, DSL, 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들이 포함된다. 그러나, 컴퓨터 판독가능 저장 매체들 및 데이터 저장 매체들은 접속들, 반송파들, 신호들, 또는 다른 일시적 매체들을 포함하지 않고, 대신에 비일시적, 유형의 저장 매체들과 관련되는 것으로 이해되어야 한다. 디스크 (disk) 및 디스크 (disc) 는, 본 명세서에 사용한 바와 같이, 콤팩트 디스크 (CD), 레이저 디스크, 광 디스크, 디지털 다기능 디스크 (DVD), 플로피 디스크 및 블루-레이 디스크를 포함하며, 여기서 디스크 (disk) 들은 보통 데이터를 자기적으로 재생시키는 한편, 디스크 (disc) 들은 레이저를 이용하여 데이터를 광학적으로 재생시킨다. 상기의 조합들이 또한 컴퓨터 판독가능 매체들의 범위 내에 포함되어야 한다.
명령들은 하나 이상의 디지털 신호 프로세서들 (DSP들), 범용 마이크로프로세서들, 주문형 집적 회로들 (ASIC들), 필드 프로그램가능 로직 어레이들 (FPGA들), 또는 다른 등가의 집적 또는 별개의 로직 회로와 같은 하나 이상의 프로세서들에 의해 실행될 수도 있다. 따라서, 용어 "프로세서" 는 본 명세서에 사용한 바와 같이, 전술한 구조 또는 본 명세서에서 설명된 기법들의 구현에 적합한 임의의 다른 구조 중 임의의 것을 지칭할 수도 있다. 또한, 일부 양태들에서, 본 명세서에서 설명된 기능성은 인코딩 및 디코딩을 위해 구성된 전용 하드웨어 및/또는 소프트웨어 모듈들 내에 제공될 수도 있고, 또는 결합된 코덱에 통합될 수도 있다. 또한, 그 기법들은 하나 이상의 회로들 또는 로직 엘리먼트들에서 완전히 구현될 수 있다.
본 개시물의 기법들은 무선 핸드셋, 집적 회로 (IC) 또는 IC들의 세트 (예를 들어, 칩 세트) 를 포함하여, 광범위한 디바이스들 또는 장치들에서 구현될 수도 있다. 다양한 컴포넌트들, 모듈들, 또는 유닛들이 상기 개시된 기법들을 수행하도록 구성된 디바이스들의 기능적 양태들을 강조하기 위해 본 개시물에서 설명되지만, 반드시 상이한 하드웨어 유닛들에 의한 실현을 요구하는 것은 아니다. 오히려, 상기 설명한 바와 같이, 다양한 유닛들은 상기 설명한 바와 같은 하나 이상의 프로세서들을 포함하여, 적합한 소프트웨어 및/또는 하드웨어와 함께, 코덱 하드웨어 유닛에 결합되거나 또는 상호운용적인 하드웨어 유닛들의 콜렉션에 의해 제공될 수도 있다.
다양한 예들이 설명되었다. 이들 및 다른 예들은 다음의 특허청구범위 내에 있다.
Claims (45)
- 비디오 정보를 코딩하도록 구성된 장치로서,
참조 계층 및 대응하는 향상 계층과 연관된 비디오 정보를 저장하도록 구성된 메모리; 및
상기 메모리와 통신하고 있는 하드웨어 프로세서
를 포함하며, 상기 하드웨어 프로세서는,
(1) 제 1 가중 팩터에 의해 가중된 인트라 예측 값, 및 (2) 제 2 가중 팩터에 의해 가중된 상기 참조 계층에서의 공동배치된 (co-located) 비디오 유닛의 값으로부터 상기 향상 계층 내의 포지션에 포지셔닝된 비디오 유닛의 값을 결정하도록 구성되며, 상기 인트라 예측 값은 상기 향상 계층에서의 적어도 하나의 추가적인 비디오 유닛에 기초하여 결정되고, 상기 공동배치된 비디오 유닛은 상기 향상 계층에서의 상기 비디오 유닛의 상기 포지션에 대응하는 상기 참조 계층에서의 포지션에 위치결정되며,
상기 제 1 가중 팩터 및 상기 제 2 가중 팩터는 상기 비디오 유닛의 상기 포지션에 기초하여 계산되고, 상기 제 2 가중 팩터는 상기 비디오 유닛과 연관되고 2 개의 디멘젼들 중 하나의 디멘젼에서의 픽셀 샘플들의 총 수에 의해 가중된 2 차원 픽셀 포지션에 비례하며, 상기 제 1 가중 팩터는 상기 제 2 가중 팩터로부터 결정되는, 비디오 정보를 코딩하도록 구성된 장치. - 제 1 항에 있어서,
상기 인트라 예측 값은 평면 인트라 예측 모드에 기초하여 결정되는, 비디오 정보를 코딩하도록 구성된 장치. - 제 1 항에 있어서,
상기 향상 계층에서의 상기 적어도 하나의 추가적인 비디오 유닛은 상기 향상 계층 내의 상기 포지션에 포지셔닝된 상기 비디오 유닛의 수평 이웃하는 비디오 유닛 또는 수직 이웃하는 비디오 유닛인, 비디오 정보를 코딩하도록 구성된 장치. - 제 1 항에 있어서,
상기 제 1 가중 팩터 및 상기 제 2 가중 팩터 중 적어도 하나는 0 과 1 사이인, 비디오 정보를 코딩하도록 구성된 장치. - 제 1 항에 있어서,
상기 제 1 가중 팩터 및 상기 제 2 가중 팩터는 비디오 비트스트림에서 시그널링되는, 비디오 정보를 코딩하도록 구성된 장치. - 제 1 항에 있어서,
상기 제 1 가중 팩터 및 상기 제 2 가중 팩터는 비디오 비트스트림에서 시그널링되지 않는, 비디오 정보를 코딩하도록 구성된 장치. - 제 1 항에 있어서,
상기 제 1 가중 팩터 및 상기 제 2 가중 팩터는 상기 비디오 유닛의 상기 포지션에 기초하여 미리결정된 값들의 그룹으로부터 선택되는, 비디오 정보를 코딩하도록 구성된 장치. - 제 1 항에 있어서,
상기 제 1 가중 팩터 (W1) 및 상기 제 2 가중 팩터 (W2) 는 W1 = (x+y)/폭 및 W2 = 1-W1 로서 계산되며,
x 는 비디오 정보의 블록 내에서 x 방향을 따르는 상기 비디오 유닛의 상기 포지션에 대응하고, y 는 상기 블록 내에서 y 방향을 따르는 상기 비디오 유닛의 상기 포지션에 대응하며, 폭은 상기 블록의 폭에 대응하는, 비디오 정보를 코딩하도록 구성된 장치. - 제 1 항에 있어서,
상기 참조 계층은 기본 계층을 포함하는, 비디오 정보를 코딩하도록 구성된 장치. - 제 1 항에 있어서,
상기 향상 계층에서의 상기 적어도 하나의 추가적인 비디오 유닛에 기초한 상기 인트라 예측 값은 예측 유닛으로부터 도출되는, 비디오 정보를 코딩하도록 구성된 장치. - 제 1 항에 있어서,
상기 비디오 정보를 코딩하도록 구성된 장치는 : 데스크톱 컴퓨터, 노트북 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 셋톱 박스, 전화기 핸드셋, 스마트 폰, 무선 통신 디바이스, 스마트 패드, 텔레비전, 카메라, 디스플레이 디바이스, 디지털 미디어 플레이어, 비디오 게이밍 콘솔, 및 비디오 스트리밍 디바이스 중 하나 이상을 포함하는, 비디오 정보를 코딩하도록 구성된 장치. - 제 1 항에 있어서,
상기 하드웨어 프로세서는 상기 참조 계층에서의 복수의 픽셀들의 평균 값에 적어도 부분적으로 기초하여 상기 향상 계층 (EL) 에서의 픽셀의 예측 값을 결정하도록 구성되는, 비디오 정보를 코딩하도록 구성된 장치. - 제 12 항에 있어서,
상기 하드웨어 프로세서는 또한, 상기 향상 계층에서의 상기 픽셀이 상기 향상 계층에서의 이웃하는 픽셀을 갖지 않을 때 상기 참조 계층에서의 복수의 픽셀들의 평균 값에 적어도 부분적으로 기초하여 상기 EL 에서의 상기 픽셀의 상기 예측 값을 결정하도록 구성되는, 비디오 정보를 코딩하도록 구성된 장치. - 제 12 항에 있어서,
상기 하드웨어 프로세서는 또한, 상기 픽셀이 좌측 및 우측 에지를 갖는 블록 내에 포지셔닝되고, 상기 픽셀이 상기 좌측 및 우측 에지들 중 적어도 하나를 따라 포지셔닝될 때 상기 참조 계층에서의 복수의 픽셀들의 평균 값에 적어도 부분적으로 기초하여 상기 EL 에서의 상기 픽셀의 상기 예측 값을 결정하도록 구성되는, 비디오 정보를 코딩하도록 구성된 장치. - 제 1 항에 있어서,
상기 하드웨어 프로세서는 또한, 상기 비디오 유닛이 픽셀 값일 때 상기 비디오 유닛 및 상기 비디오 유닛에 인접하는 적어도 하나의 추가적인 비디오 유닛에 평활화 필터를 적용하도록 구성되는, 비디오 정보를 코딩하도록 구성된 장치. - 제 15 항에 있어서,
상기 평활화 필터는 상기 비디오 유닛이 픽셀 값이 아닐 때 적용되지 않는, 비디오 정보를 코딩하도록 구성된 장치. - 제 1 항에 있어서,
상기 참조 계층 및 상기 향상 계층은 각각 계층 식별자와 연관되며, 상기 하드웨어 프로세서는 또한, 상기 계층 식별자에 기초하여 코딩 스캔 패턴을 적응적으로 선택하도록 구성되는, 비디오 정보를 코딩하도록 구성된 장치. - 제 1 항에 있어서,
메모리 유닛은 또한, 상기 참조 계층과 상기 대응하는 향상 계층 간의 차이로부터 도출된 픽셀 정보의 차이 비디오 계층과 연관된 차이 비디오 정보를 저장하도록 구성되며, 제 1 공간 해상도는 상기 향상 계층과 연관되고, 제 2 공간 해상도는 상기 참조 계층과 연관되며,
상기 하드웨어 프로세서는 또한, 상기 제 1 공간 해상도가 상기 제 2 공간 해상도와 동일하지 않을 때 상기 차이 비디오 계층에 적어도 부분적으로 기초하여 상기 향상 계층 내의 상기 포지션에 포지셔닝된 상기 비디오 유닛의 값을 결정하도록 구성되며, 상기 하드웨어 프로세서는 또한, 상기 제 1 공간 해상도가 상기 제 2 공간 해상도와 동일할 때 상기 차이 비디오 계층에 적어도 부분적으로 기초하여 상기 비디오 유닛의 상기 값을 결정하지 않도록 구성되는, 비디오 정보를 코딩하도록 구성된 장치. - 비디오 정보를 코딩하는 방법으로서,
참조 계층 및 대응하는 향상 계층과 연관된 비디오 정보를 저장하는 단계; 및
(1) 제 1 가중 팩터에 의해 가중된 인트라 예측 값, 및 (2) 제 2 가중 팩터에 의해 가중된 상기 참조 계층에서의 공동배치된 (co-located) 비디오 유닛의 값으로부터 상기 향상 계층 내의 포지션에 포지셔닝된 비디오 유닛의 값을 결정하는 단계로서, 상기 인트라 예측 값은 상기 향상 계층에서의 적어도 하나의 추가적인 비디오 유닛에 기초하여 결정되고, 상기 공동배치된 비디오 유닛은 상기 향상 계층에서의 상기 비디오 유닛의 상기 포지션에 대응하는 상기 참조 계층에서의 포지션에 위치결정되는, 상기 비디오 유닛의 값을 결정하는 단계
를 포함하며,
상기 제 1 가중 팩터 및 상기 제 2 가중 팩터는 상기 비디오 유닛의 상기 포지션에 기초하여 계산되고, 상기 제 2 가중 팩터는 상기 비디오 유닛과 연관되고 디멘젼들 중 하나의 디멘젼에서의 픽셀 샘플들의 총 수에 의해 가중된 2 차원 픽셀 포지션에 비례하며, 상기 제 1 가중 팩터는 상기 제 2 가중 팩터로부터 결정되는, 비디오 정보를 코딩하는 방법. - 제 19 항에 있어서,
상기 인트라 예측 값은 평면 인트라 예측 모드에 기초하여 결정되는, 비디오 정보를 코딩하는 방법. - 제 19 항에 있어서,
상기 향상 계층에서의 상기 적어도 하나의 추가적인 비디오 유닛은 상기 향상 계층 내의 상기 포지션에 포지셔닝된 상기 비디오 유닛의 수평 이웃하는 비디오 유닛 또는 수직 이웃하는 비디오 유닛인, 비디오 정보를 코딩하는 방법. - 제 19 항에 있어서,
상기 제 1 가중 팩터 및 상기 제 2 가중 팩터 중 적어도 하나는 0 과 1 사이인, 비디오 정보를 코딩하는 방법. - 제 19 항에 있어서,
상기 제 1 가중 팩터 및 상기 제 2 가중 팩터를 비디오 비트스트림에서 시그널링하는 단계를 더 포함하는, 비디오 정보를 코딩하는 방법. - 제 19 항에 있어서,
상기 제 1 가중 팩터 및 상기 제 2 가중 팩터를 상기 비디오 정보에 적어도 부분적으로 기초하여 도출하는 단계를 더 포함하는, 비디오 정보를 코딩하는 방법. - 제 19 항에 있어서,
상기 제 1 가중 팩터 및 상기 제 2 가중 팩터를 상기 비디오 유닛의 상기 포지션에 기초하여 미리결정된 값들의 그룹으로부터 선택하는 단계를 더 포함하는, 비디오 정보를 코딩하는 방법. - 제 19 항에 있어서,
상기 제 1 가중 팩터 (W1) 및 상기 제 2 가중 팩터 (W2) 를 W1 = (x+y)/폭 및 W2 = 1-W1 로서 계산하는 단계를 더 포함하며,
x 는 비디오 정보의 블록 내에서 x 방향을 따르는 상기 비디오 유닛의 상기 포지션에 대응하고, y 는 상기 블록 내에서 y 방향을 따르는 상기 비디오 유닛의 상기 포지션에 대응하며, 폭은 상기 블록의 폭에 대응하는, 비디오 정보를 코딩하는 방법. - 제 19 항에 있어서,
상기 참조 계층은 기본 계층을 포함하는, 비디오 정보를 코딩하는 방법. - 제 19 항에 있어서,
상기 향상 계층에서의 상기 적어도 하나의 추가적인 비디오 유닛에 기초한 상기 인트라 예측 값은 예측 유닛으로부터 도출되는, 비디오 정보를 코딩하는 방법. - 제 19 항에 있어서,
상기 참조 계층에서의 복수의 픽셀들의 평균 값에 적어도 부분적으로 기초하여 상기 향상 계층 (EL) 에서의 픽셀의 예측 값을 결정하는 단계를 더 포함하는, 비디오 정보를 코딩하는 방법. - 제 29 항에 있어서,
상기 향상 계층에서의 상기 픽셀이 상기 향상 계층에서의 이웃하는 픽셀을 갖지 않을 때 상기 참조 계층에서의 복수의 픽셀들의 평균 값에 적어도 부분적으로 기초하여 상기 EL 에서의 상기 픽셀의 상기 예측 값을 결정하는 단계를 더 포함하는, 비디오 정보를 코딩하는 방법. - 제 29 항에 있어서,
상기 비디오 유닛이 좌측 및 우측 에지를 갖는 블록 내에 포지셔닝되고, 상기 비디오 유닛이 상기 좌측 및 우측 에지들 중 적어도 하나를 따라 포지셔닝될 때 상기 참조 계층에서의 복수의 픽셀들의 평균 값에 적어도 부분적으로 기초하여 상기 EL 에서의 상기 픽셀의 상기 예측 값을 결정하는 단계를 더 포함하는, 비디오 정보를 코딩하는 방법. - 제 19 항에 있어서,
상기 비디오 유닛이 픽셀 값일 때 상기 비디오 유닛 및 상기 비디오 유닛에 인접하는 적어도 하나의 추가적인 비디오 유닛에 평활화 필터를 적용하는 단계를 더 포함하는, 비디오 정보를 코딩하는 방법. - 제 32 항에 있어서,
상기 평활화 필터는 상기 비디오 유닛이 픽셀 값이 아닐 때 적용되지 않는, 비디오 정보를 코딩하는 방법. - 제 19 항에 있어서,
상기 참조 계층과 상기 대응하는 향상 계층 간의 차이로부터 도출된 픽셀 정보의 차이 비디오 계층과 연관된 차이 비디오 정보를 저장하는 단계로서, 제 1 공간 해상도는 상기 향상 계층과 연관되고, 제 2 공간 해상도는 상기 참조 계층과 연관되는, 상기 차이 비디오 정보를 저장하는 단계;
상기 제 1 공간 해상도가 상기 제 2 공간 해상도와 동일하지 않을 때 상기 차이 비디오 계층에 적어도 부분적으로 기초하여 상기 향상 계층 내의 상기 포지션에 포지셔닝된 상기 비디오 유닛의 값을 결정하는 단계; 및
상기 제 1 공간 해상도가 상기 제 2 공간 해상도와 동일할 때 상기 차이 비디오 계층에 적어도 부분적으로 기초하여 상기 비디오 유닛의 상기 값을 결정하지 않는 단계
를 더 포함하는, 비디오 정보를 코딩하는 방법. - 제 19 항에 있어서,
상기 참조 계층 및 상기 향상 계층은 각각 계층 식별자와 연관되며, 프로세서는 또한, 상기 계층 식별자에 기초하여 코딩 스캔 패턴을 적응적으로 선택하도록 구성되는, 비디오 정보를 코딩하는 방법. - 비디오 정보를 코딩하기 위한 명령들을 저장하는 컴퓨터 판독가능 저장 매체로서,
상기 명령들은, 컴퓨터 프로세서로 하여금 :
참조 계층 및 대응하는 향상 계층과 연관된 비디오 정보를 저장하도록 하고;
(1) 제 1 가중 팩터에 의해 가중된 인트라 예측 값, 및 (2) 제 2 가중 팩터에 의해 가중된 상기 참조 계층에서의 공동배치된 (co-located) 비디오 유닛의 값으로부터 상기 향상 계층 내의 포지션에 포지셔닝된 비디오 유닛의 값을 결정하도록 하는 것으로서, 상기 인트라 예측 값은 상기 향상 계층에서의 적어도 하나의 추가적인 비디오 유닛에 기초하여 결정되고, 상기 공동배치된 비디오 유닛은 상기 향상 계층에서의 상기 비디오 유닛의 상기 포지션에 대응하는 상기 참조 계층에서의 포지션에 위치결정되는, 상기 비디오 유닛의 값을 결정하도록 하며,
상기 제 1 가중 팩터 및 상기 제 2 가중 팩터는 상기 비디오 유닛의 상기 포지션에 기초하여 계산되고, 상기 제 2 가중 팩터는 상기 비디오 유닛과 연관되고 디멘젼들 중 하나의 디멘젼에서의 픽셀 샘플들의 총 수에 의해 가중된 2 차원 픽셀 포지션에 비례하며, 상기 제 1 가중 팩터는 상기 제 2 가중 팩터로부터 결정되는, 컴퓨터 판독가능 저장 매체. - 제 36 항에 있어서,
상기 인트라 예측 값은 평면 인트라 예측 모드에 기초하여 결정되는, 컴퓨터 판독가능 저장 매체. - 제 36 항에 있어서,
상기 향상 계층에서의 상기 적어도 하나의 추가적인 비디오 유닛은 상기 향상 계층 내의 상기 포지션에 포지셔닝된 상기 비디오 유닛의 수평 이웃하는 비디오 유닛 또는 수직 이웃하는 비디오 유닛인, 컴퓨터 판독가능 저장 매체. - 비디오 정보를 코딩하기 위한 장치로서,
참조 계층 및 대응하는 향상 계층과 연관된 비디오 정보를 저장하는 수단; 및
(1) 제 1 가중 팩터에 의해 가중된 인트라 예측 값, 및 (2) 제 2 가중 팩터에 의해 가중된 상기 참조 계층에서의 공동배치된 (co-located) 비디오 유닛의 값으로부터 상기 향상 계층 내의 포지션에 포지셔닝된 비디오 유닛의 값을 결정하는 수단으로서, 상기 인트라 예측 값은 상기 향상 계층에서의 적어도 하나의 추가적인 비디오 유닛에 기초하여 결정되고, 상기 공동배치된 비디오 유닛은 상기 향상 계층에서의 상기 비디오 유닛의 상기 포지션에 대응하는 상기 참조 계층에서의 포지션에 위치결정되는, 상기 비디오 유닛의 값을 결정하는 수단
을 포함하며,
상기 제 1 가중 팩터 및 상기 제 2 가중 팩터는 상기 비디오 유닛의 상기 포지션에 기초하여 계산되고, 상기 제 2 가중 팩터는 상기 비디오 유닛과 연관되고 디멘젼들 중 하나의 디멘젼에서의 픽셀 샘플들의 총 수에 의해 가중된 2 차원 픽셀 포지션에 비례하며, 상기 제 1 가중 팩터는 상기 제 2 가중 팩터로부터 결정되는, 비디오 정보를 코딩하기 위한 장치. - 제 39 항에 있어서,
상기 인트라 예측 값은 평면 인트라 예측 모드에 기초하여 결정되는, 비디오 정보를 코딩하기 위한 장치. - 제 39 항에 있어서,
상기 향상 계층에서의 상기 적어도 하나의 추가적인 비디오 유닛은 상기 향상 계층 내의 상기 포지션에 포지셔닝된 상기 비디오 유닛의 수평 이웃하는 비디오 유닛 또는 수직 이웃하는 비디오 유닛인, 비디오 정보를 코딩하기 위한 장치. - 삭제
- 삭제
- 삭제
- 삭제
Applications Claiming Priority (11)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261696107P | 2012-08-31 | 2012-08-31 | |
US61/696,107 | 2012-08-31 | ||
US201261707660P | 2012-09-28 | 2012-09-28 | |
US201261707487P | 2012-09-28 | 2012-09-28 | |
US61/707,660 | 2012-09-28 | ||
US61/707,487 | 2012-09-28 | ||
US201261735519P | 2012-12-10 | 2012-12-10 | |
US61/735,519 | 2012-12-10 | ||
US14/011,441 | 2013-08-27 | ||
US14/011,441 US9467692B2 (en) | 2012-08-31 | 2013-08-27 | Intra prediction improvements for scalable video coding |
PCT/US2013/057139 WO2014036174A2 (en) | 2012-08-31 | 2013-08-28 | Intra prediction improvements for scalable video coding |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150048782A KR20150048782A (ko) | 2015-05-07 |
KR101771332B1 true KR101771332B1 (ko) | 2017-08-24 |
Family
ID=49118833
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020157006900A KR101771332B1 (ko) | 2012-08-31 | 2013-08-28 | 스케일러블 비디오 코딩을 위한 인트라 예측 개선들 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9467692B2 (ko) |
EP (1) | EP2891310A2 (ko) |
JP (1) | JP6250678B2 (ko) |
KR (1) | KR101771332B1 (ko) |
CN (1) | CN104584550B (ko) |
WO (1) | WO2014036174A2 (ko) |
Families Citing this family (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110113561A (ko) | 2010-04-09 | 2011-10-17 | 한국전자통신연구원 | 적응적인 필터를 이용한 인트라 예측 부호화/복호화 방법 및 그 장치 |
US20150334389A1 (en) * | 2012-09-06 | 2015-11-19 | Sony Corporation | Image processing device and image processing method |
US9906786B2 (en) * | 2012-09-07 | 2018-02-27 | Qualcomm Incorporated | Weighted prediction mode for scalable video coding |
US20150256827A1 (en) * | 2012-09-28 | 2015-09-10 | Mitsubishi Electric Corporation | Video encoding device, video decoding device, video encoding method, and video decoding method |
EP2904804A1 (en) | 2012-10-04 | 2015-08-12 | VID SCALE, Inc. | Reference picture set mapping for standard scalable video coding |
CN104885453B (zh) * | 2012-11-29 | 2018-11-02 | Lg 电子株式会社 | 支持多个层的用于编码/解码图像的方法和设备 |
US10542286B2 (en) | 2012-12-19 | 2020-01-21 | ARRIS Enterprise LLC | Multi-layer video encoder/decoder with base layer intra mode used for enhancement layer intra mode prediction |
JP6210375B2 (ja) * | 2012-12-28 | 2017-10-11 | サン パテント トラスト | 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置及び画像符号化復号装置 |
JP6171627B2 (ja) * | 2013-06-28 | 2017-08-02 | 株式会社Jvcケンウッド | 画像符号化装置、画像符号化方法、画像符号化プログラム、画像復号装置、画像復号方法および画像復号プログラム |
JP6336058B2 (ja) | 2013-10-14 | 2018-06-06 | マイクロソフト テクノロジー ライセンシング,エルエルシー | ビデオ及び画像符号化及び復号のためのベースカラーインデックスマップモードの機能 |
EP3058736B1 (en) | 2013-10-14 | 2019-02-27 | Microsoft Technology Licensing, LLC | Encoder-side options for intra block copy prediction mode for video and image coding |
RU2654129C2 (ru) | 2013-10-14 | 2018-05-16 | МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи | Функциональные возможности режима внутреннего предсказания с блочным копированием для кодирования и декодирования видео и изображений |
US9503751B2 (en) * | 2013-10-17 | 2016-11-22 | Hfi Innovation Inc. | Method and apparatus for simplified depth coding with extended prediction modes |
EP3061253A1 (en) | 2013-10-25 | 2016-08-31 | Microsoft Technology Licensing, LLC | Hash-based block matching in video and image coding |
CN105684409B (zh) | 2013-10-25 | 2019-08-13 | 微软技术许可有限责任公司 | 在视频和图像编码和解码中使用散列值来表示各块 |
RU2669005C2 (ru) | 2014-01-03 | 2018-10-05 | МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи | Предсказание вектора блока в кодировании/декодировании видео и изображений |
US10390034B2 (en) | 2014-01-03 | 2019-08-20 | Microsoft Technology Licensing, Llc | Innovations in block vector prediction and estimation of reconstructed sample values within an overlap area |
US11284103B2 (en) | 2014-01-17 | 2022-03-22 | Microsoft Technology Licensing, Llc | Intra block copy prediction with asymmetric partitions and encoder-side search patterns, search ranges and approaches to partitioning |
US10542274B2 (en) | 2014-02-21 | 2020-01-21 | Microsoft Technology Licensing, Llc | Dictionary encoding and decoding of screen content |
US10368092B2 (en) | 2014-03-04 | 2019-07-30 | Microsoft Technology Licensing, Llc | Encoder-side decisions for block flipping and skip mode in intra block copy prediction |
WO2015131325A1 (en) | 2014-03-04 | 2015-09-11 | Microsoft Technology Licensing, Llc | Hash table construction and availability checking for hash-based block matching |
CA2939431C (en) | 2014-03-04 | 2020-09-22 | Microsoft Techology Licensing, Llc | Block flipping and skip mode in intra block copy prediction |
US10477232B2 (en) * | 2014-03-21 | 2019-11-12 | Qualcomm Incorporated | Search region determination for intra block copy in video coding |
US9986251B2 (en) * | 2014-05-01 | 2018-05-29 | Arris Enterprises Llc | Reference layer and scaled reference layer offsets for scalable video coding |
FR3012935A1 (fr) * | 2014-05-20 | 2015-05-08 | Thomson Licensing | Procede et dispositif de codage d'images video, procede et dispositif de decodage d'un flux de donnees, programme d'ordinateur et support de stockage correspondants |
KR102413529B1 (ko) | 2014-06-19 | 2022-06-24 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | 통합된 인트라 블록 카피 및 인터 예측 모드 |
KR102287779B1 (ko) | 2014-06-23 | 2021-08-06 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | 해시 기반의 블록 매칭의 결과에 기초한 인코더 결정 |
EP3416386B1 (en) | 2014-09-30 | 2021-01-13 | Microsoft Technology Licensing, LLC | Hash-based encoder decisions for video coding |
WO2016049839A1 (en) | 2014-09-30 | 2016-04-07 | Microsoft Technology Licensing, Llc | Rules for intra-picture prediction modes when wavefront parallel processing is enabled |
US9591325B2 (en) | 2015-01-27 | 2017-03-07 | Microsoft Technology Licensing, Llc | Special case handling for merged chroma blocks in intra block copy prediction mode |
CN106664405B (zh) | 2015-06-09 | 2020-06-09 | 微软技术许可有限责任公司 | 用调色板模式对经逸出编码的像素的稳健编码/解码 |
ES2677193B1 (es) | 2015-08-28 | 2019-06-19 | Kt Corp | Procedimiento y dispositivo para procesar señales de vídeo |
WO2017043941A1 (ko) * | 2015-09-10 | 2017-03-16 | 엘지전자(주) | 예측 각도에 따른 그래프 기반 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치 |
KR102684942B1 (ko) | 2016-03-17 | 2024-07-12 | 세종대학교산학협력단 | 인트라 예측 기반의 비디오 신호 처리 방법 및 장치 |
KR20180129863A (ko) * | 2016-04-25 | 2018-12-05 | 엘지전자 주식회사 | 영상 코딩 시스템에서 영상 디코딩 방법 및 장치 |
CN113810700B (zh) * | 2016-04-29 | 2024-07-02 | 世宗大学校产学协力团 | 用于对图像信号进行编码和解码的方法和装置 |
US10390039B2 (en) | 2016-08-31 | 2019-08-20 | Microsoft Technology Licensing, Llc | Motion estimation for screen remoting scenarios |
US11095877B2 (en) | 2016-11-30 | 2021-08-17 | Microsoft Technology Licensing, Llc | Local hash-based motion estimation for screen remoting scenarios |
US10917660B2 (en) | 2017-01-13 | 2021-02-09 | Vid Scale, Inc. | Prediction approaches for intra planar coding |
US10757420B2 (en) * | 2017-06-23 | 2020-08-25 | Qualcomm Incorporated | Combination of inter-prediction and intra-prediction in video coding |
WO2019059107A1 (ja) * | 2017-09-20 | 2019-03-28 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 符号化装置、復号装置、符号化方法及び復号方法 |
CN109996066A (zh) * | 2017-12-29 | 2019-07-09 | 富士通株式会社 | 图像编码装置,图像解码装置和电子设备 |
US10986349B2 (en) | 2017-12-29 | 2021-04-20 | Microsoft Technology Licensing, Llc | Constraints on locations of reference blocks for intra block copy prediction |
WO2019140083A1 (en) * | 2018-01-12 | 2019-07-18 | Futurewei Technologies, Inc. | Adaptive multi-hypothesis context-adaptive binary arithmetic coding (mcabac) |
US10771781B2 (en) * | 2018-03-12 | 2020-09-08 | Electronics And Telecommunications Research Institute | Method and apparatus for deriving intra prediction mode |
CN111050176B (zh) | 2018-10-15 | 2021-10-15 | 腾讯科技(深圳)有限公司 | 视频编码、视频解码方法、装置、计算机设备和存储介质 |
CN113383542A (zh) * | 2019-01-11 | 2021-09-10 | Vid拓展公司 | 使用合并模式运动向量候选对象的改善的帧内平面预测 |
US20220132109A1 (en) * | 2019-02-21 | 2022-04-28 | Lg Electronics Inc. | Image decoding method and apparatus using intra prediction in image coding system |
CN117376556A (zh) | 2019-08-14 | 2024-01-09 | 北京字节跳动网络技术有限公司 | 位置相关帧内预测样点滤波 |
EP3997872A4 (en) | 2019-08-14 | 2022-10-26 | Beijing Bytedance Network Technology Co., Ltd. | WEIGHTING FACTORS FOR FILTERING PREDICTION SAMPLES IN INTRA MODE |
CN114651441B (zh) * | 2019-09-19 | 2023-12-19 | Lg电子株式会社 | 使用参考样本滤波的图像编码/解码方法和装置及发送比特流的方法 |
CN110662071B (zh) * | 2019-09-27 | 2023-10-24 | 腾讯科技(深圳)有限公司 | 视频解码方法和装置、存储介质及电子装置 |
WO2021110568A1 (en) * | 2019-12-05 | 2021-06-10 | Interdigital Vc Holdings France, Sas | Intra sub partitions for video encoding and decoding combined with multiple transform selection, matrix weighted intra prediction or multi-reference-line intra prediction |
US11202085B1 (en) | 2020-06-12 | 2021-12-14 | Microsoft Technology Licensing, Llc | Low-cost hash table construction and hash-based block matching for variable-size blocks |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003036980A1 (en) | 2001-10-26 | 2003-05-01 | Koninklijke Philips Electronics N.V. | Spatial scalable compression scheme using spatial sharpness enhancement techniques |
KR100888962B1 (ko) | 2004-12-06 | 2009-03-17 | 엘지전자 주식회사 | 영상 신호의 인코딩 및 디코딩 방법 |
US20060153294A1 (en) | 2005-01-12 | 2006-07-13 | Nokia Corporation | Inter-layer coefficient coding for scalable video coding |
KR100703770B1 (ko) * | 2005-03-25 | 2007-04-06 | 삼성전자주식회사 | 가중 예측을 이용한 비디오 코딩 및 디코딩 방법, 이를위한 장치 |
KR20080006607A (ko) | 2005-04-12 | 2008-01-16 | 노키아 코포레이션 | 편차 제어를 통한 움직임 보상된 미세 입도 규모 가변성비디오 부호화를 위한 방법 및 시스템 |
US8315308B2 (en) * | 2006-01-11 | 2012-11-20 | Qualcomm Incorporated | Video coding with fine granularity spatial scalability |
EP1809041A1 (en) | 2006-01-11 | 2007-07-18 | Mitsubishi Electric Information Technology Centre Europe B.V. | Error concealement for scalable video coding |
KR100781525B1 (ko) | 2006-04-06 | 2007-12-03 | 삼성전자주식회사 | 가중 평균합을 이용하여 fgs 계층을 인코딩 및디코딩하는 방법 및 장치 |
WO2008004940A1 (en) | 2006-07-07 | 2008-01-10 | Telefonaktiebolaget Lm Ericsson (Publ) | Video data management |
US7535383B2 (en) * | 2006-07-10 | 2009-05-19 | Sharp Laboratories Of America Inc. | Methods and systems for signaling multi-layer bitstream data |
US9014280B2 (en) * | 2006-10-13 | 2015-04-21 | Qualcomm Incorporated | Video coding with adaptive filtering for motion compensated prediction |
FR2907630A1 (fr) * | 2006-10-19 | 2008-04-25 | Thomson Licensing Sas | Dispositif et procede de codage sous forme scalable d'une sequence d'images et dispositif et procede de decodage correspondants |
KR101312260B1 (ko) * | 2007-01-19 | 2013-09-25 | 삼성전자주식회사 | 에지 영역을 효과적으로 압축하고 복원하는 방법 및 장치 |
KR101365596B1 (ko) * | 2007-09-14 | 2014-03-12 | 삼성전자주식회사 | 영상 부호화장치 및 방법과 그 영상 복호화장치 및 방법 |
US20110249741A1 (en) * | 2010-04-09 | 2011-10-13 | Jie Zhao | Methods and Systems for Intra Prediction |
DE102011006036B4 (de) | 2011-01-14 | 2012-12-27 | Siemens Aktiengesellschaft | Verfahren und Vorrichtungen zur Bildung eines Prädiktionswertes |
-
2013
- 2013-08-27 US US14/011,441 patent/US9467692B2/en active Active
- 2013-08-28 WO PCT/US2013/057139 patent/WO2014036174A2/en active Application Filing
- 2013-08-28 JP JP2015530005A patent/JP6250678B2/ja not_active Expired - Fee Related
- 2013-08-28 KR KR1020157006900A patent/KR101771332B1/ko active IP Right Grant
- 2013-08-28 CN CN201380044688.7A patent/CN104584550B/zh not_active Expired - Fee Related
- 2013-08-28 EP EP13759405.7A patent/EP2891310A2/en not_active Withdrawn
Non-Patent Citations (1)
Title |
---|
Y. Bao, et al. Improvements to Fine Granularity Scalability for Low-Delay Applications. JVT of ISO/IEC MPEG & ITU-T VCEG. JVT-O054r1. Apr. 17, 2005, pp.1-8 |
Also Published As
Publication number | Publication date |
---|---|
JP2015530828A (ja) | 2015-10-15 |
CN104584550A (zh) | 2015-04-29 |
US20140064360A1 (en) | 2014-03-06 |
KR20150048782A (ko) | 2015-05-07 |
EP2891310A2 (en) | 2015-07-08 |
CN104584550B (zh) | 2018-09-21 |
JP6250678B2 (ja) | 2017-12-20 |
WO2014036174A3 (en) | 2014-05-30 |
WO2014036174A2 (en) | 2014-03-06 |
US9467692B2 (en) | 2016-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101771332B1 (ko) | 스케일러블 비디오 코딩을 위한 인트라 예측 개선들 | |
EP3357247B1 (en) | Improved video intra-prediction using position-dependent prediction combination for video coding | |
KR102435840B1 (ko) | 비분리형 변환들을 위한 메모리 감소 | |
EP2893704B1 (en) | Weighted prediction mode for scalable video coding | |
KR102086872B1 (ko) | 비디오 코딩을 위한 파면 병렬 프로세싱 | |
KR101642615B1 (ko) | 비디오 코딩에서 양자화 파라미터 예측 | |
KR101722823B1 (ko) | 3d 비디오 코딩에서의 뷰 합성 예측 지원의 시그널링 | |
KR102182441B1 (ko) | 비디오 코딩에서 hevc 확장들을 위한 다중 계층들의 저복잡도 지원 | |
KR20160135226A (ko) | 비디오 코딩에서 인트라 블록 카피를 위한 검색 영역 결정 | |
KR102276777B1 (ko) | 상이한 종횡비를 갖는 공간 스케일러빌리티를 위한 계층간 참조 화상 구성 | |
KR20180122638A (ko) | 2-레벨 멀티-타입-트리 프레임워크를 사용한 비디오 데이터의 디코딩 | |
US20130163664A1 (en) | Unified partition mode table for intra-mode coding | |
KR20160023729A (ko) | 변위 벡터들을 이용한 예측 블록으로부터의 인트라 예측 | |
WO2015038928A1 (en) | Partial intra block copying for video coding | |
WO2015183375A2 (en) | Systems and methods for low complexity forward transforms using zeroed-out coefficients | |
EP2829062B1 (en) | Inter layer texture prediction for video coding | |
KR20160106616A (ko) | 예측 블록으로부터의 인트라 예측 | |
WO2013148027A1 (en) | Inter-view residual prediction in 3d video coding | |
KR101747058B1 (ko) | 서브 pu 레벨 진보된 레지듀얼 예측 | |
WO2014036162A1 (en) | Intra prediction most probable mode order improvement for scalable video coding | |
KR20150052247A (ko) | 스케일러블 비디오 코딩에서의 변환 베이시스 조정 | |
EP2870756A1 (en) | Adaptive difference domain spatial and temporal reference reconstruction and smoothing | |
WO2014078703A1 (en) | Intra base layer transform selection (dst vs. dct) in video coding | |
KR20150138308A (ko) | Shvc 를 위한 다수의 기초 계층 참조 화상 | |
KR20150111982A (ko) | 인터-레이어 신택스 예측 제어 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
E902 | Notification of reason for refusal | ||
GRNT | Written decision to grant |