KR20150050561A - 계층간 화소 샘플 예측 - Google Patents
계층간 화소 샘플 예측 Download PDFInfo
- Publication number
- KR20150050561A KR20150050561A KR1020157006573A KR20157006573A KR20150050561A KR 20150050561 A KR20150050561 A KR 20150050561A KR 1020157006573 A KR1020157006573 A KR 1020157006573A KR 20157006573 A KR20157006573 A KR 20157006573A KR 20150050561 A KR20150050561 A KR 20150050561A
- Authority
- KR
- South Korea
- Prior art keywords
- layer region
- inter
- enhancement layer
- prediction
- base 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/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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame 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
-
- 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/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/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/182—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 pixel
-
- 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/186—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 colour or a chrominance component
-
- 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/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/34—Scalability techniques involving progressive bit-plane based encoding of the enhancement layer, e.g. fine granular scalability [FGS]
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- 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/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
-
- 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/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/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
계층간 화소 샘플 예측을 이용하여 스케일러블 비디오 코딩을 수행하는 것을 포함하는 시스템들, 디바이스들 및 방법들이 기술된다. 향상 계측 코딩 유닛, 예측 유닛 또는 변환 유닛에서의 계층간 화소 샘플 예측은 베이스 계층으로부터 또는 하위 향상 계층으로부터 획득되는 복원된 화소 샘플들을 이용할 수 있다. 화소 샘플들은 업샘플 필터링 및/또는 리파인먼트 필터링을 겪을 수 있다. 업샘플 또는 리파인먼트 필터 계수들은 미리 결정될 수 있거나 또는 적응적으로 결정될 수 있다.
Description
ISO/IEC MPEG(Moving Picture Expert Group) 및 ITU-T VCEG(Video Coding Experts Group)에 의해 형성된 JCT-VC(Joint Collaborative Team on Video Coding)가 현재 개발 중인 고효율 비디오 코딩(HEVC: High Efficiency Video Coding)은 2012년에 완결되는 것으로 기획된 비디오 압축 표준이다. 이전의 비디오 코딩 표준들과 유사하게, HEVC는 인트라/인터 예측(intra/inter prediction), 변환, 양자화, 인-루프 필터링(in-loop filtering) 및 엔트로피 코딩과 같은 기본 기능 모듈들을 포함한다.
HEVC는 가변 크기를 갖는 직사각형 블록들의 형태를 취하는 화상 서브-파티션(picture sub-partition)들로서 코딩 유닛(CU: Coding Unit)들을 정의한다. 각각의 CU 내에서, 쿼드-트리 기반 스플리팅 스킴(quad-tree based splitting scheme)이 CU 파티션 패턴을 지정한다. 또한, HEVC는, 주어진 CU가 예측 및 변환을 위해 각각 어떻게 파티셔닝되어야 하는지를 지정하는 예측 유닛(PU: Prediction Unit)들 및 변환 유닛(TU: Transform Unit)들을 정의한다. 인트라 또는 인터 예측 후에, 계수들을 생성하기 위해서 리지듀얼 블록(residual block)들에 변환 동작들이 적용된다. 계수들은 이후 양자화되고, 1차원 순서로 스캐닝된 후, 마지막으로 엔트로피 인코딩된다.
HEVC는 스케일러블 비디오 코딩(SVC: Scalable Video Coding) 확장을 포함하는 것으로 예상된다. HEVC SVC 비트스트림은 소스 비디오 콘텐츠를 상이한 공간적 해상도, 프레임 레이트, 품질, 비트 깊이 등으로 나타내는 수개의 서브세트 비트스트림을 제공한다. 그러면, 확장성(scalability)이, 일반적으로 베이스 계층(BL: Base Layer) 및 적어도 하나의 향상 계층(EL: Enhancement Layer)을 포함하는 다층 코딩 구조를 이용하여 달성된다. 이는 EL에 속하는 화상 또는 CU와 같은 화상의 부분들이 하부 계층 화상(예를 들어, BL 화상)으로부터 또는 동일한 계층에서의 이전에 코딩된 화상으로부터 예측되는 것을 허용한다. 종래의 접근법들에서, 현재 CU에 대한 인터 및/또는 인트라 예측은 동일한 계층 내의 화상들의 CU들에 대하여 수행된다. 예를 들어, EL CU에 대한 화소 샘플 예측은 통상적으로 다른 EL이 아닌 동일한 EL 또는 BL의 CU들에 대하여 수행된다.
여기에 기술된 자료는 첨부 도면들에 한정이 아니라 예로서 예시되어 있다. 예시의 단순함 및 명료함을 위해, 도면들에 예시된 요소들은 반드시 일정 비율로 그려지지는 않는다. 예를 들어, 몇몇 요소들의 치수는 명료함을 위해 다른 요소들에 비해 과장될 수 있다. 또한, 적절한 것으로 고려되는 경우, 대응 또는 유사 요소들을 나타내기 위해서 도면들 사이에 참조 라벨들이 반복되었다.
도 1은 예시적인 코딩 시스템을 도시하는 도면이다.
도 2는 예시적인 인코딩 시스템을 도시하는 도면이다.
도 3은 예시적인 프로세스를 도시하는 흐름도이다.
도 4는 예시적인 시스템을 도시하는 도면이다.
도 5는 예시적인 코딩 스킴을 도시하는 도면이다.
도 6은 예시적인 비트스트림을 도시하는 도면이다.
도 7은 예시적인 디코딩 시스템을 도시하는 도면이다.
도 8은 예시적인 프로세스를 도시하는 흐름도이다.
도 9는 예시적인 시스템을 도시하는 도면이다.
도 10은 본 개시물의 적어도 일부 구현에 따라 모두 배열된 예시적인 디바이스를 도시한다.
도 1은 예시적인 코딩 시스템을 도시하는 도면이다.
도 2는 예시적인 인코딩 시스템을 도시하는 도면이다.
도 3은 예시적인 프로세스를 도시하는 흐름도이다.
도 4는 예시적인 시스템을 도시하는 도면이다.
도 5는 예시적인 코딩 스킴을 도시하는 도면이다.
도 6은 예시적인 비트스트림을 도시하는 도면이다.
도 7은 예시적인 디코딩 시스템을 도시하는 도면이다.
도 8은 예시적인 프로세스를 도시하는 흐름도이다.
도 9는 예시적인 시스템을 도시하는 도면이다.
도 10은 본 개시물의 적어도 일부 구현에 따라 모두 배열된 예시적인 디바이스를 도시한다.
이하, 하나 이상의 실시예 또는 구현이 첨부 도면들을 참조하여 설명된다. 특정한 구성들 및 배열들이 논의되지만, 이는 단지 예시의 목적으로 행해진 것임을 이해해야 한다. 관련 기술분야의 통상의 기술자는 이 설명의 사상 및 범위를 벗어나지 않고 다른 구성들 및 배열들이 이용될 수 있음을 인식할 것이다. 여기에 기술된 기법들 및/또는 배열들이 또한 여기에 기술된 것과는 다른 다양한 다른 시스템들 및 애플리케이션들에 이용될 수 있음은 관련 기술분야의 통상의 기술자에게 명백할 것이다.
다음의 설명이 예를 들어 시스템 온 칩(SoC: system on-chip) 아키텍처들과 같은 아키텍처들에 나타날 수 있는 다양한 구현을 제시하지만, 여기에 기술된 기법들 및/또는 배열들의 구현은 특정한 아키텍처들 및/또는 컴퓨팅 시스템들에 제한되지 않으며, 유사한 목적을 위한 임의의 아키텍처 및/또는 컴퓨팅 시스템에 의해 구현될 수 있다. 예컨대, 예를 들어, 다수의 집적 회로(IC) 칩들 및/또는 패키지들을 이용하는 다양한 아키텍처, 및/또는 셋톱 박스, 스마트폰 등과 같은 다양한 컴퓨팅 디바이스 및/또는 소비자 전자(CE) 디바이스는 여기에 기술된 기법들 및/또는 배열들을 구현할 수 있다. 또한, 다음의 설명이 로직 파티셔닝/통합 선택, 시스템 컴포넌트들의 상관성 및 타입, 로직 구현들 등과 같은 다수의 특정 세부사항들을 제시할 수 있지만, 청구 대상은 이러한 특정 세부사항들 없이 실시될 수 있다. 다른 경우에, 예를 들어, 제어 구조들 및 풀 소프트웨어 명령어 시퀀스들과 같은 몇몇 자료는 여기에 개시된 자료를 모호하지 않게 하기 위해서 상세히 제시되지 않을 수 있다.
여기에 개시된 자료는 하드웨어, 펌웨어, 소프트웨어 또는 이들의 임의의 조합으로 구현될 수 있다. 또한, 여기에 개시된 자료는, 하나 이상의 프로세서에 의해 판독되고 실행될 수 있는 머신 판독가능 매체 상에 저장된 명령어들로서 구현될 수 있다. 머신 판독가능 매체는 정보를 머신(예를 들어, 컴퓨팅 디바이스)에 의해 판독가능한 형태로 저장 및 전송하기 위한 임의의 매체 및/또는 메커니즘을 포함할 수 있다. 예를 들어, 머신 판독가능 매체는 판독 전용 메모리(ROM); 랜덤 액세스 메모리(RAM); 자기 디스크 저장 매체; 광학 저장 매체; 플래시 메모리 디바이스; 전기, 광학, 음향 또는 다른 형태의 전파 신호(예를 들어, 반송파, 적외선 신호, 디지털 신호 등) 등을 포함할 수 있다.
본 명세서에서 "일 구현", "구현", "예시적인 구현" 등에 대한 언급은, 설명되는 구현이 특정한 특징, 구조 또는 특성을 포함할 수 있지만 모든 실시예가 반드시 이러한 특징, 구조 또는 특성을 포함하지는 않을 수 있다는 것을 나타낸다. 또한, 이러한 구문들이 반드시 동일한 구현을 언급하는 것은 아니다. 또한, 특정한 특징, 구조 또는 특성이 일 실시예와 관련하여 설명될 때, 여기에 명시적으로 기술되어 있든지 그렇지 않든지 간에 다른 구현들과 관련하여 이러한 특징, 구조 또는 특성을 실시하는 것이 본 기술분야의 통상의 기술자의 지식 내에 있음이 제시된다.
계층간 화소 샘플 예측을 이용하는 비디오 코딩을 위한 동작들을 포함하는 시스템들, 장치들, 아티클들 및 방법들이 이하 기술된다.
여기에 이용된 바와 같이, 용어 "코더"는 인코더 및/또는 디코더를 지칭할 수 있다. 유사하게, 용어 "코딩"은 인코더를 통한 인코딩 및/또는 디코더를 통한 디코딩을 가리킬 수 있다. 예를 들어, 비디오 인코더 및 비디오 디코더는 둘 다 코딩을 할 수 있는 코더들의 예일 수 있다. 또한, 여기에 이용된 바와 같이, 용어 "코덱(codec)"은, 예를 들어, 인코더 및/또는 디코더를 구현할 수 있는, 소프트웨어, 펌웨어 및/또는 하드웨어의 임의의 조합과 같은 임의의 프로세스, 프로그램 또는 동작들의 세트를 가리킬 수 있다.
스케일러블 비디오 코딩 시스템들에서, 공간 확장성, 시간 확장성, 품질 확장성, 비트 깊이 확장성 등을 포함하는 수개의 종류의 확장성을 지원하는데 다층 코딩이 이용된다. 본 개시물에 따르면, 다양한 계층간 화소 샘플 예측 스킴들이 스케일러블 비디오 코딩 시스템들에서 코딩 효율 및/또는 코딩 융통성(coding flexibility)을 증가시키는데 이용될 수 있다.
도 1은 본 개시물에 따른 예시적인 스케일러블 비디오 코딩(SVC) 코딩 시스템(100)을 도시한다. 다양한 구현에서, 시스템(100)은, 예를 들어, 고효율 비디오 코딩(HEVC) 표준(다음 참조: ISO/IEC JTC/SC29/WG11 및 ITU-T SG16 WP3, "High efficiency video coding (HEVC) text specification draft 8" (JCTVC-J1003_d7), 2012년 7월) 및 그것의 임의의 스케일러블 비디오 코딩(SVC) 확장과 같은 하나 이상의 표준 또는 규격에 따라 비디오 압축 및 압축해제를 수행하고/하거나 비디오 코덱들을 구현할 수 있다. 시스템(100) 및/또는 다른 시스템들, 스킴들 또는 프로세스들이 HEVC 표준의 SVC 확장의 맥락에서 기술될 수 있지만, 본 개시물은 임의의 특정한 비디오 인코딩 표준이나 규격 또는 그것의 확장에 한정되지는 않는다.
도시된 바와 같이, 시스템(100)은, 계층 0 또는 베이스 계층(BL) 인코더(102), 계층 1 또는 제1 향상 계층(EL) 인코더(104), 및 계층 2 또는 제2 EL 인코더(106)를 포함하는 다수의 비디오 인코더를 갖는 인코더 서브시스템(101)을 포함한다. 또한, 시스템(100)은, 계층 0 (BL) 디코더(108), 계층 1 (EL) 디코더(110), 및 계층 2 (EL) 디코더(112)를 포함하는 디코더 서브시스템(103)의 대응하는 비디오 디코더들을 포함한다. 일반적으로, BL은 HEVC 호환 코딩될 수 있다. N과 동일한 계층 ID(identification)를 갖는 EL을 코딩할 때, SVC 코딩 스킴들은, 특정한 EL에 속하는 화상이 (예를 들어, 하위 계층 ID를 갖는 EL 또는 BL 내의) 하위 계층 화상들로부터 또는 동일한 계층 내의 이전에 코딩된 화상들로부터 예측될 수 있도록 N보다 작은 계층 ID를 갖는 모든 코딩 계층들이 계층간 예측 스킴들에서의 이용을 위해 이용가능하다는 것을 보증한다.
다양한 구현에서, HEVC는 가변 크기를 갖는 직사각형 블록들의 형태를 취하는 코딩 유닛(CU)들로 파티셔닝될 수 있는 화상에 대해 최대 코딩 유닛(LCU: Largest Coding Unit)을 지정한다. 각각의 LCU 내에서, 쿼드-트리 기반 스플리팅 스킴이 CU 파티션 패턴을 지정한다. 또한, HEVC는, 주어진 CU가 예측 및 변환을 위해 각각 어떻게 파티셔닝되어야 하는지를 지정하는 예측 유닛(PU)들 및 변환 유닛(TU)들을 정의한다. CU는 보통 관련 신택스와 함께 하나의 루마(luma) 코딩 블록(CB) 및 2개의 크로마(chroma) CB들을 포함하며, PU는 64×64 샘플로부터 4×4 샘플까지의 크기 범위의 예측 블록(PB)들로 더 분할될 수 있다. 여기에 이용된 바와 같이, 용어 "블록"은 비디오 화상의 임의의 파티션 또는 서브-파티션을 지칭할 수 있다. 예를 들어, 블록은 PU 또는 PB를 지칭할 수 있다.
본 개시물에 따르면, 이하 보다 상세히 설명되는 바와 같이, EL 인코더들(104 및 106) 중 어느 하나 또는 이들 모두는 계층간 화소 샘플 예측을 수행하기 위해서 인코더(102 또는 104)로부터 획득된 화소 샘플들을 이용할 수 있다. 예를 들어, 몇몇 구현에서, 인코더(104)는, 인코더(102)로부터 획득되어 계층간 예측 모듈(116)에 의해 처리된 화소 샘플들(114)을 이용하여 계층간 화소 샘플 예측을 수행할 수 있다. 또한, 몇몇 구현에서, 인코더(106)는, 인코더(102) 또는 인코더(104)로부터 각각 획득되어 계층간 예측 모듈(120) 또는 계층간 예측 모듈(122)에 의해 각각 처리된 화소 샘플들(114) 또는 화소 샘플들(118)을 이용하여 계층간 화소 샘플 예측을 수행할 수 있다.
여기에 이용된 바와 같이, 용어 "계층간 화소 샘플 예측"은 기준 계층 화상으로부터 획득된 화소 샘플들을 이용한 향상 계층 화상의 인터 예측을 지칭한다. 또한, 여기에 이용된 바와 같이, "화소 샘플들"은 복원된 화소들을 나타낸다. 기준 계층에 의해 복원된 화소 샘플들과 같은 코딩 정보를 재사용함으로써, 계층간 화소 예측은 코덱 디자인 및/또는 시스템(100)과 같은 SVC 시스템의 압축 효율 및 코딩 융통성을 개선할 수 있다. 본 개시물에 따른 다양한 구현에서, 계층간 화소 샘플 예측은 시간적, 공간적 및/또는 품질 스케일러블 비디오 코딩 애플리케이션들의 임의의 조합에서 적용될 수 있다.
계층간 예측 모듈들(116, 120 및/또는 122) 중 임의의 하나 이상을 이용하면, 인코더(102, 104 및 106)는 개별 비트스트림들을 엔트로피 인코더(124)에 제공할 수 있다. 그런 다음, 엔트로피 인코더(124)는 다수의 계층의 스케일러블 비디오 콘텐츠를 포함하는 압축 비트스트림(126)을 디코더 서브시스템(103)의 엔트로피 디코더(128)에 제공할 수 있다. 본 개시물에 따르면, 이하 보다 상세하게 설명되는 바와 같이, EL 디코더들(110 및 112) 중 어느 하나 또는 이들 모두는 계층간 화소 샘플 예측을 수행하기 위해서 디코더(108 또는 110)로부터 획득된 화소 샘플들을 이용할 수 있다. 예를 들어, 몇몇 구현에서, 디코더(110)는, 디코더(108)로부터 획득되어 계층간 예측 모듈(130)에 의해 처리된 화소 샘플들을 이용하여 계층간 화소 샘플 예측을 수행할 수 있다. 또한, 몇몇 구현에서, 디코더(112)는, 디코더(108) 또는 디코더(110)로부터 각각 획득되어 계층간 예측 모듈(132) 또는 계층간 예측 모듈(134)에 의해 각각 처리된 화소 샘플들을 이용하여 계층간 화소 샘플 예측을 수행할 수 있다.
도 1은, 스케일러블 비디오 콘텐츠의 3개 계층과, 서브시스템(101) 내의 3개의 인코더 및 서브시스템(103) 내의 3개의 디코더의 대응하는 세트를 이용하는 것으로서 시스템(100)을 도시하고 있지만, 임의의 수의 스케일러블 비디오 코딩 계층과 대응하는 인코더 및 디코더가 본 개시물에 따라 이용될 수 있다. 또한, 시스템(100)이 특정 컴포넌트들을 도시하고 있지만, 본 개시물은 도 1에 도시된 특정한 컴포넌트들, 및/또는 시스템(100)의 다양한 컴포넌트들이 배열되는 방식에 한정되지는 않는다. 예를 들어, 다양한 구현에서, 예를 들어, 인코더 서브시스템(101)의 계층간 예측 모듈들(116, 120 및 122)과 같은 시스템(100)의 몇몇 요소들은 3개의 인코더(102, 104 및 106) 모두에 연결된 단일의 계층간 예측 모듈 등에 의해 구현될 수 있다.
또한, 인코더 서브시스템(101)은, 예를 들어, 서버 시스템을 포함하는 콘텐츠 프로바이더 시스템과 관련될 수 있고, 비트스트림(126)은 도 1에 도시되지 않은 송수신기, 안테나, 네트워크 시스템 등과 같은 다양한 통신 컴포넌트들 또는 시스템들에 의해 디코더 서브시스템(103)에 전송 또는 전달될 수 있음이 인식될 수 있다. 또한, 디코더 서브시스템(103)은, 도 1에 또한 도시되지 않은 송수신기, 안테나, 네트워크 시스템 등과 같은 다양한 통신 컴포넌트들 또는 시스템들을 통해 비트스트림(126)을 수신하는 컴퓨팅 디바이스(예를 들어, 컴퓨터, 스마트폰 등)와 같은 클라이언트 시스템과 관련될 수 있음이 인식될 수 있다.
도 2는 본 개시물에 따른 예시적인 SVC 인코딩 시스템(200)을 도시한다. 시스템(200)은, 예를 들어, 시스템(100)의 인코더(102) 및 인코더(104)에 각각 대응할 수 있는 기준 BL 인코더(202) 및 타겟 EL 인코더(204)를 포함한다. 시스템(200)이 2개의 SVC 코딩 계층에 대응하는 단지 2개의 인코더(202 및 204)를 포함하고 있지만, 임의의 수의 SVC 코딩 계층 및 대응하는 인코더들이 도 2에 도시된 것들에 부가하여 본 개시물에 따라 이용될 수 있다. 예를 들어, 부가의 향상 계층들에 대응하는 부가의 인코더들이 시스템(200)에 포함될 수 있고, EL 인코더(204)에 관련하여 이하 기술되는 것과 유사한 방식으로 BL 인코더(202)와 상호작용할 수 있다.
SVC 코딩을 수행하는 시스템(200)을 이용할 때, EL 입력 프레임(206)과 같은 향상 계층에서의 화상 또는 이미지 프레임의 다양한 블록들은 BL 인코더(202)에 의해 처리된 바와 같은 BL 입력 프레임(208)과 같은 화상으로부터 또는 EL 인코더(204)에 의해 이전에 인코딩된 동일한 향상 계층에서의 다른 화상들로부터 EL 인코더(204)에 의해 예측될 수 있다. 이하 보다 상세히 기술되는 바와 같이, 시스템(200)을 이용하여 계층간 화소 샘플 예측 동작들을 수행할 때, EL 입력 프레임(206)과 같은, 계층(204)에서의 화상들의 화소들은 BL 인코더(202)에 의해 제공된 화소 샘플들(210)을 이용하여 예측될 수 있다. 위에서 언급한 바와 같이, EL 입력 프레임(206)은 화소 값들의 하나 이상의 블록들에 대응하는 유닛들로 코딩될 수 있고, 코딩되는 블록들은 CU들, PU들 또는 TU들의 형태일 수 있다. 또한, 코딩은 슬라이스, 화상 또는 계층 레벨로 적용될 수 있다.
계층간 화소 샘플 예측을 위해 이용된 화소 샘플들(210)은, 변환 및 양자화 모듈(212), 역 변환 및 양자화 모듈(214), 인트라 예측 모듈(216), 인터 예측 모듈(218), 및 인-루프 필터링 모듈(220)을 포함하는 코딩 루프를 이용한 BL 입력 프레임(208)의 처리로부터 획득될 수 있다. 특히, 인터 예측 모듈(218)을 이용하여 인터 예측을 수행하도록 BL 인코더(202)를 동작시킬 때, 화소 샘플들(210)은 인-루프 필터링 모듈(220)의 출력으로부터 획득될 수 있다. 모듈들(212, 214, 216, 218 및 220)의 기능은 본 기술분야에 잘 인식되어 있고, 여기서 더 상세히 기술되지는 않는다.
이하 보다 상세히 기술되는 바와 같이, 몇몇 구현에서, 화소 샘플들(210)은 EL 인코더(204)에 적용되기 전에 업샘플링(upsampling) 모듈(222) 및/또는 라파이닝(refining) 모듈(224)에 의해 처리될 수 있다. 다양한 구현에서, 업샘플링 모듈(222) 및 리파이닝 모듈(224)은 계층간 예측 모듈(예를 들어, 시스템(100)의 계층간 예측 모듈(116))의 컴포넌트일 수 있다. 또한, 다양한 구현에서, 업샘플링 모듈(222) 및 리파이닝 모듈(224)의 적어도 부분들은 고정 기능 회로와 같은 하드웨어 로직에 의해 제공될 수 있다.
EL 인코더(204)에서, 리파이닝 모듈(224)에 의해 제공되는 필터링된 화소 샘플들(226)은, 변환 및 양자화 모듈(228), 및 역 변환 및 역 양자화 모듈(230)을 포함하는 코딩 루프를 이용하여 EL 입력 프레임(206)에서의 화소 샘플들을 예측하는데 이용될 수 있다. EL 입력 프레임(206)의 계층간 화소 샘플 예측을 수행하도록 동작할 때, EL 인코더(204)는 EL 입력 프레임(206)을 압축하는데 이용된 코딩 루프에서의 인트라 예측 모듈(232), 인터 예측 모듈(234) 또는 인-루프 필터링 모듈(236) 중 어떠한 것도 이용하지 않을 수 있다. 역시, 모듈들(228, 232, 234 및 236)의 기능은 본 기술분야에 잘 인식되어 있고, 여기서 더 상세히 기술되지는 않는다. 그러면, EL 인코더(204)는 EL 입력 프레임(206)의 다양한 CU에서의 다양한 화소들을 예측하기 위해서 필터링된 화소 샘플들(226)을 이용할 수 있다.
다양한 구현에서, BL 인코더(202) 및 EL 인코더(204) 중 어느 하나 또는 이들 모두는 각각 BL 입력 프레임(208)의 적어도 일부와 EL 입력 프레임(206)의 적어도 일부의 코딩된 리지듀얼에 대응하는 압축 계수들을 엔트로피 인코더 모듈(238)에 제공할 수 있다. 그런 다음, 모듈(238)은 리지듀얼의 무손실 압축을 수행할 수 있고, 시스템(200)으로부터의 출력으로서 인코딩된 리지듀얼이 포함되는 다중화된 SVC 비트스트림을 제공할 수 있다. 다른 구현들에서, BL 인코더(202) 및 EL 인코더(204) 중 어느 하나 또는 이들 모두는 각각 BL 입력 프레임(208)의 적어도 일부와 EL 입력 프레임(206)의 적어도 일부의 코딩된 리지듀얼을 엔트로피 인코더 모듈(238)에 제공하지 않을 수 있다.
도 3은 본 개시물의 다양한 구현에 따른 예시적인 프로세스(300)의 흐름도를 도시한다. 프로세스(300)는 도 3의 블록들(301, 302, 304, 306, 308, 310, 312, 314 및 316) 중 하나 이상에 의해 도시된 바와 같은 하나 이상의 동작, 기능 또는 액션을 포함할 수 있다. 비제한적인 예로서, 프로세스(300)는 인코더 시스템(200)에 의해 수행된 바와 같은 EL 계층의 일부(예를 들어, 이 구현에서는 CU)에 대한 스케일러블 비디오 코딩 프로세스의 적어도 일부를 형성할 수 있다.
또한, 프로세스(300)는 도 4의 스케일러블 비디오 코딩 시스템(400)을 이용하여 향상 계층 CU를 코딩하는 것에 관하여 또한 기술되며, 시스템(400)은 프로세서(402), SVC 코덱 모듈(406) 및 메모리(408)를 포함한다. 프로세서(402)는 본 개시물에 따른 계층간 화소 샘플 예측을 제공하기 위해서 SVC 코덱 모듈(406)을 예시할 수 있다. 시스템(400)의 예에서, 메모리(408)는 이하 더 상세히 기술되는 바와 같이 필터 계수 등과 같은 다른 아이템들뿐만 아니라 BL 입력 프레임(208)의 적어도 일부 및/또는 EL 입력 프레임(206)의 적어도 일부를 포함하는 비디오 콘텐츠를 저장할 수 있다. SVC 코덱 모듈(406)은 코딩 시스템(200)을 구현하기에 적합한 소프트웨어 로직, 펌웨어 로직 및/또는 하드웨어 로직의 임의의 조합에 의해 제공될 수 있다. 메모리(408)는 휘발성 메모리(예를 들어, SRAM(Static Random Access Memory), DRAM(Dynamic Random Access Memory) 등) 또는 비휘발성 메모리(예를 들어, 플래시 메모리 등) 등과 같은 임의의 타입의 메모리일 수 있다. 비제한적인 예로서, 메모리(408)는 캐시 메모리에 의해 구현될 수 있다.
프로세스(300)는 블록(301)에서 시작할 수 있고, 여기서 계층간 화소 예측이 현재 EL CU에 대해 수행되어야 하는지에 관한 판정이 이루어질 수 있다. 다양한 구현에서, 계층간 화소 예측을 수행할지 여부에 대한 판정은 레이트 왜곡 코스트(rate-distortion cost)에 기초할 수 있다. 예를 들어, SVC 코덱(406)은 공지의 레이트 왜곡 코스트 기법에 기초하여 EL CU(502)에 대해 계층간 화소 예측을 수행할지를 판정할 수 있다. 계층간 화소 예측이 수행되어야 하면, 프로세스(300)는 블록(302)에서 계속될 수 있지만, 계층간 화소 예측이 수행되지 않아야 하면, 프로세스(300)는 종료될 수 있다.
프로세스(300)는 블록(302)에서 계속될 수 있고, 여기서 현재 EL CU에 대해, EL CU에 대응하는 BL의 하나 이상의 코로케이티드 블록들(co-located blocks)이 결정될 수 있다. 예를 들어, 도 5는 EL 입력 프레임(206)의 현재 CU(502)를 도시하는데, 이 CU(502)는 BL 입력 프레임(208)의 코로케이티드 블록들(504)에 공간적으로 대응한다. 이 예에서, CU(502)는 BL 입력 프레임(208)의 4개의 코로케이티드 블록(504)에 대응한다. 그러나, 다양한 구현에서, EL과 BL 또는 하위 레벨 EL 간의 공간적 스케일링에 따라, 임의의 수의 BL 또는 하위 레벨 EL 블록이 특정 EL CU에 대하여 코로케이팅할 수 있다. 다른 구현들에서, BL 또는 하위 레벨 EL 블록의 일부만이 EL CU와 코로케이팅할 수 있다. 또한, EL 및 하위 EL 또는 BL이 1의 공간비(spatial ratio)를 갖도록 공간적 스케일링이 적용되지 않는 몇몇 스케일러블 비디오 코딩 구현에서(예를 들어, 공간적 스케일링 없이 품질 스케일링이 계층들 간에 적용될 때), EL 내의 블록들과 하위 EL 또는 BL 내의 블록들 간에는 일대일 대응관계가 있을 수 있다.
도 5의 예와 관련하여, 블록(302)에서의 코로케이티드 블록들의 결정은 현재 EL CU(502)에 대하여 코로케이팅하는 것으로서 블록들(504)을 마킹하거나 또는 다른 방식으로 라벨링하는 것을 포함할 수 있다. 또한, 다양한 구현에서, BL 또는 하위 EL 계층 내의 코로케이티드 블록들은 인트라 코딩, 인터 코딩될 수 있고/있거나, 하이브리드 인트라/인터 코딩될 수 있다. 또한, 코로케이티드 블록들의 세트 내의 상이한 블록들은 상이한 코딩을 가질 수 있다. 예를 들어, 비제한적인 예에서, 코로케이티드 블록들(504)은, 코로케이티드 블록들 중 2개가 인트라 코딩될 수 있고, 코로케이티드 블록들 중 1개가 인터 코딩될 수 있고, 나머지 코로케이티드 블록은 하이브리드 인트라/인터 코딩될 수 있도록 혼합된 코딩 모드들을 가질 수 있다.
프로세스(300)는 블록(304)에서 계속될 수 있고, 여기서 코로케이티드 블록들에 대응하는 화소 샘플들이 액세스될 수 있다. 예를 들어, 도 4 및 도 5를 참조하면, 블록(304)은 코로케이티드 블록들(504)에 대응하는 화소 샘플들을 메모리(408)로부터 획득하기 위해서 SVC 코덱(406)이 프로세서(402)를 이용하는 것을 수반할 수 있다. 예를 들어, 메모리(408)는 블록들(504)의 복원된 화소 값들에 대응하는 BL 입력 프레임(208)의 부분들과 같은 비디오 콘텐츠를 일시 저장하기 위한 프레임 버퍼의 역할을 할 수 있다.
블록(306)에 있어서, 블록(304)에서 획득된 화소 샘플들의 업샘플링을 수행하는 것에 대한 판정이 이루어질 수 있다. 예를 들어, CU(502)가 4개의 코로케이티드 블록(504)에 대응하는 도 5의 예에서, 블록들(504)에 대응하는 화소 샘플들은 CU(502)의 크기에 매칭하도록 업샘플링될 필요가 있을 수 있고, 프로세스(300)는 블록(308)으로 진행할 수 있다. 공간 확장성이 제공되지 않는 경우와 같이, 다른 구현들에서, 업샘플링은 수행되지 않을 수 있고, 프로세스(300)는 블록(308)이 수행되지 않을 수 있도록 블록(306)으로부터 블록(310)으로 스킵할 수 있다.
다양한 구현에서, 블록(308)에서의 화소들의 업샘플링은 보간 필터를 화소 샘플들에 적용함으로써 수행될 수 있지만, 본 개시물은 임의의 특정 형태의 업샘플 필터링에 한정되지는 않는다. 다양한 구현에서, 화소 샘플들의 업샘플링은 계층간 화소 예측의 정확도를 개선할 수 있으며, EL에 대한 더 양호한 압축 성능을 초래할 수 있다. 다양한 구현에서, 고정 보간 필터 또는 적응 보간 필터가 블록(308)에서 적용될 수 있다. 고정 업샘플링 필터를 이용하는 구현에 있어서, 필터 계수들은 미리 결정될 수 있고, 인코더(예를 들어, 시스템(200)) 및 디코더(이하 보다 상세하게 기술됨)에 의해 이용될 수 있다. 적응 업샘플링 필터를 이용하는 구현에 있어서, 필터 계수들은 인코더에서 (예를 들어, 트레이닝에 의해) 적응적으로 결정될 수 있고, 이하 더 설명되는 바와 같이 다음에 비트스트림의 일부로서 디코더에 전송될 수 있다. 다양한 구현에서, 블록(308)에서 적용된 보간 필터는 멀티탭 다상 보간 필터(multi-tap poly-phase interpolation filter)일 수 있다. 또한, 다양한 구현에서, 블록(308)은 메모리(408)로부터 획득된 보간 필터 계수들을 화소 샘플들에 적용하기 위해서 SVC 코덱(406)이 프로세서(402)에서의 고정 함수 회로와 같은 하드웨어 로직을 이용하는 것을 수반할 수 있다.
프로세스(300)는 블록(310)에서 계속될 수 있고, 여기서 블록(304)에서 획득된 화소 샘플들 또는 블록(308)으로부터 기인하는 업샘플링된 화소들을 리파이닝(refining)하는 것에 대한 판정이 이루어질 수 있다. 다양한 구현에서, 리파이닝 필터를 화소 샘플들에 적용하면, 계층간 화소 예측의 정확도를 개선할 수 있으며, EL에 대한 압축 성능이 더 양호해질 수 있다. 리파이닝이 선택되면, 프로세스(300)는, 몇몇 구현에서, 블록(312)으로 진행하고, 여기서 2차원(2D) 공간 필터가 리파이닝 필터로서 적용될 수 있지만, 본 개시물은 임의의 특정 타입의 리파이닝 필터에 한정되지는 않는다. 다른 구현들에서, 공간 필터링이 수행되지 않을 수 있으며, 프로세스(300)는 블록(312)이 수행되지 않을 수 있도록 블록(310)으로부터 블록(314)으로 스킵할 수 있다. 또한, 다양한 구현에서, 블록(312)은 메모리(408)로부터 획득된 리파이닝 필터 계수들을 화소 샘플들에 적용하기 위해서 SVC 코덱(406)이 프로세서(402)에서의 고정 함수 회로와 같은 하드웨어 로직을 이용하는 것을 수반할 수 있다.
다양한 구현에서, p가 필터링 이전의 중앙 화소를 나타내고 주변 화소들 q i,j (i, j = 0, ..., N)가 2D 필터 윈도우를 나타내면, 블록(312)에서 적용된 리파이닝 필터는 다음의 식에 따라 대응하는 필터링된 중앙 화소 p'를 결정할 수 있는데:
여기서, a i,j (i, j = 0, ..., N)는 필터 계수이고, b는 오프셋 인자이다.
다양한 구현에서, 필터 계수 a i,j 는 고정될 수 있거나 적응적일 수 있다. 필터 계수들이 고정인 구현들에서, 필터 계수 a i,j 와 오프셋 인자 b는 미리 결정될 수 있고, 인코더 및 디코더 양쪽 모두에 의해 이용될 수 있다. 필터 계수들이 적응적인 구현들에서, 필터 계수 a i,j 와 오프셋 인자 b는 인코더에서 (예를 들어, 트레이닝에 의해) 적응적으로 결정될 수 있고, 이하 더 설명되는 바와 같이 다음에 비트스트림의 일부로서 디코더에 전송될 수 있다.
시스템(400)을 참조하면, 다양한 구현에서, 블록들(308 및 312)에서의 필터들의 적용은 메모리(408)로부터 필터 계수를 획득하기 위해서 프로세서(402)를 이용하는 SVC 코덱(406)에 의해 수행될 수 있다. 적응 필터 구현들에서, SVC 코덱(406)은, 메모리(408)에 저장될 수도 있고 저장되지 않을 수도 있는 필터 계수들을 적응적으로 결정하기 위해서 프로세서(402)를 이용할 수 있다.
프로세스(300)는 블록(314)에서 계속될 수 있고, 여기서 화소 샘플들은 현재 EL CU에 대한 예측 화소를 결정하는데 이용될 수 있다. 예를 들어, SVC 코덱(406)은, 블록(304)에서 획득되어 블록(308) 및/또는 블록(310)에서 필터링될 수 있는 화소 샘플들을 이용하여 CU(502)에 대한 예측 신호를 형성할 수 있다. 다양한 구현에서, 블록(314)은 또한 현재 EL CU에 대한 리지듀얼의 생성을 수반할 수 있다. 예를 들어, SVC 코덱(406)은 블록(504)으로부터 획득된 (필터링되거나 그렇지 않은) 화소 샘플들과 CU(502)의 화소 값들 간의 차이에 대응하는 리지듀얼을 생성할 수 있다. 다른 구현들에서, 블록(314)은 현재 EL CU에 대한 리지듀얼의 생성을 수반하지 않을 수 있다. 다양한 구현에서, 블록(314)은 예측 화소를 결정하는데 필요한 산술 동작들을 수행하기 위해서 고정 함수 회로와 같은 하드웨어 로직을 이용하여 수행될 수 있다. 또한, 이러한 하드웨어 로직은 현재 PU의 다양한 부분들 및/또는 다수의 PU들에 대한 예측 화소들의 병렬 결정을 허용할 수 있다. 여기에 이용된 바와 같이, "예측 화소(predicted pixel)"는 하나 이상의 하위 계층의 하나 이상의 PU로부터 획득된 하나 이상의 화소 샘플에 기초하여 예측될 수 있는 현재 PU 내의 화소 샘플의 값을 지칭할 수 있다.
프로세스(300)는 블록(316)에서 종결될 수 있고, 여기서 현재 EL CU에 대한 비트스트림이 형성될 수 있다. 다양한 구현에서, 블록(316)은 현재 EL CU에 대응하는 비트스트림 부분을 형성하는 것을 수반할 수 있고, 여기서 비트스트림 부분은 헤더 부분과 데이터 부분을 포함하며, 데이터 부분은 현재 EL CU에 대한 압축된 리지듀얼을 포함할 수도 있고 포함하지 않을 수도 있다. 다양한 구현에서, 헤더 부분은 현재 EL CU에 대한 계층간 화소 예측을 수행할지를 나타내고/거나 리지듀얼이 현재 CU에 대해 존재하는지를 나타내기 위해서 (하나 이상의 플래그와 같은) 하나 이상의 인디케이터를 포함할 수 있다.
또한, 다양한 구현에서, 블록(308)의 업샘플링 필터 계수들 또는 블록(312)의 리파이닝 필터 계수들에 대응하는 필터 계수들은 블록(316)에서 형성된 비트스트림에 표시될 수 있거나 포함될 수 있다. 예를 들어, 적응 필터 계수들이 블록(308 또는 312)에서 이용되면, 필터 계수 값들은 블록(316)에서 형성된 비트스트림의 헤더 부분 또는 데이터 부분에 포함될 수 있다. 다른 구현들에서, 미리 결정된 필터 계수들이 블록(308 또는 312)에서 이용되면, 이용된 필터 계수들은 예를 들어 블록(316)에서 형성된 비트스트림의 헤더 부분에 표시될 수 있다.
도 6은 본 개시물의 다양한 구현에 따른 EL CU에 대응하는 예시적인 비트스트림 부분(600)을 도시한다. 부분(600)은 헤더 부분(602) 및 데이터 부분(604)을 포함한다. 헤더 부분(602)은 하나 이상의 인디케이터(606)를 포함한다. 예를 들어, 인디케이터들(606)은 EL CU에 대한 계층간 화소 예측을 수행할지를 지정하는 값을 갖는 인디케이터(608)를 포함할 수 있다. 인디케이터들(606)은 또한 리지듀얼이 EL CU에 대해 존재하는지를 지정하는 값을 갖는 인디케이터(610)를 포함할 수도 있고 포함하지 않을 수도 있다. 예를 들어, 일 구현에서, 인디케이터(608)는 "inter_layer_pixel_prediction_flag"로서 라벨링될 수 있고, 현재 CU(예를 들어, CU(502))가 계층간 화소 예측을 이용하는지를 나타내기 위해 CU 신택스 테이블에 부가될 수 있다. 또한, "inter_layer_pixel_prediction_flag"가 특정 값을 가지면(예를 들어, 1과 동일하면), 비트스트림 헤더 부분(602)은 그 뒤에 인디케이터(610)를 포함할 수 있으며, 이 인디케이터는 "inter_layer_residual_flag"로서 라벨링될 수 있고, 리지듀얼이 현재 CU에 대해 존재하는지를 나타낼 수 있다.
다양한 구현에서, 인디케이터(608 및 610)는 본 개시물에 따른 2가지 스케일러블 비디오 코딩 모드: 계층간 화소 예측이 리지듀얼 없이 이용되는 계층간 스킵 모드(skip mode); 및 계층간 화소 예측이 리지듀얼과 함께 이용되는 계층간 다이렉트 모드를 지정하는데 이용될 수 있다. 따라서, 계층간 스킵 모드에서, SVC 코덱(406)은 비트스트림(600)의 데이터 부분(604)에서 리지듀얼을 전송하지 않을 수 있다. 역으로, 계층간 다이렉트 모드에서, SVC 코덱(406)은 비트스트림(600)의 데이터 부분(604)에서 리지듀얼을 전송할 수 있다.
프로세스(300)가 도 5의 맥락에서 본 명세서에 설명되었지만, 본 개시물은 EL CU의 모든 화소가 동일한 코로케이티드 BL 블록들로부터 도출된 샘플들로부터 예측되는 계층간 화소 예측의 성능에 한정되지는 않는다. 따라서, 다양한 구현에서, CU의 부분(예를 들어, CU의 단지 일부 블록들)은 코로케이티드 블록들 중 단지 일부에 대하여 예측될 수 있는 한편, CU의 다른 부분은 코로케이티드 블록들 중 다른 것들에 대하여 예측될 수 있다. 예를 들어, 4개의 코로케이티드 BL 블록들에 대응하는 CU의 경우, CU의 상위의 제1 부분은 2개의 상위의 수평 인접한 코로케이티드 BL 블록들에 기초하여 예측될 수 있는 한편, CU의 하위의 제2 부분은 2개의 하위의 수평 인접한 코로케이티드 BL 블록들에 기초하여 예측될 수 있다.
또한, 다양한 구현에서, CU의 상이한 부분들은 코딩이 서로 다른 상이한 코로케이티드 BL 블록들로부터 예측될 수 있다. 위의 예에 이어서, 2개의 상위의 수평 인접한 코로케이티드 BL 블록들은 인트라 코딩되었을 수 있는 한편, 2개의 하위의 수평 인접한 코로케이티드 BL 블록들은 인터 코딩되었을 수 있다. 따라서, CU의 제1 부분은 인트라 코딩된 화소 샘플들로부터 예측될 수 있는 한편, CU의 제2 부분은 인터 코딩된 화소 샘플들로부터 예측될 수 있다.
도 7은 본 개시물에 따른 예시적인 SVC 디코딩 시스템(700)을 도시한다. 시스템(700)은, 예를 들어, 시스템(100)의 디코더(108) 및 디코더(110)에 각각 대응할 수 있는 기준 BL 디코더(702) 및 타겟 EL 디코더(704)를 포함한다. 시스템(700)이 2개의 SVC 코딩 계층에 대응하는 단지 2개의 디코더(702 및 704)를 포함하지만, 임의의 수의 SVC 코딩 계층 및 대응하는 디코더들이 도 7에 도시된 것들에 부가하여 본 개시물에 따라 이용될 수 있다. 예를 들어, 부가의 향상 계층들에 대응하는 부가의 디코더들이 시스템(700)에 포함될 수 있고, EL 디코더(704)에 대하여 이하 기술되는 것과 유사한 방식으로 BL 디코더(702)와 상호작용할 수 있다.
SVC 코딩을 수행하기 위해 시스템(700)을 이용할 때, EL 출력 프레임(706)과 같은, 향상 계층에서의 화상 또는 이미지 프레임은 BL 디코더(702)에 의해 처리된 바와 같은 BL 출력 프레임(708)과 같은 화상으로부터 또는 EL 디코더(704)에 의해 이전에 인코딩된 동일한 향상 계층에서의 다른 화상들로부터 EL 디코더(704)에 의해 인터 예측될 수 있다. 이하 더 상세히 기술되는 바와 같이, 시스템(700)을 이용하여 계층간 화소 샘플 예측 동작들을 수행할 때, EL 출력 프레임(706)과 같은, 계층(704)에서의 화상들의 화소들은 BL 디코더(702)에 의해 제공되는 복원된 BL 화소 샘플들(710)을 이용하여 예측될 수 있다. 샘플들(710)은 역 변환 및 양자화 모듈(712), 인터 예측 모듈(714), 및 인-루프 필터링 모듈(718)을 이용하여 획득될 수 있다. 특히, 인터 예측 모듈(714)을 이용하여 인터 예측을 수행하도록 BL 디코더(702)를 동작시킬 때, 샘플들(710)은 인-루프 필터링 모듈(718)의 출력으로부터 획득될 수 있다.
이하 더 상세히 기술되는 바와 같이, 복원된 화소 샘플들(710)은 EL 디코더(704)에 공급되기 전에 업샘플링 모듈(720) 및 리파이닝 모듈(722)에 의해 처리될 수 있다. 다양한 구현에서, 업샘플링 모듈(720) 및 리파이닝 모듈(722)은 계층간 예측 모듈(예를 들어, 시스템(100)의 계층간 예측 모듈(130))의 컴포넌트들일 수 있다. EL 디코더(704)에서, 리파이닝 모듈(722)에 의해 제공되는 필터링된 화소 샘플들(724)은 역 변환 및 양자화 모듈(726) 및 인-루프 필터링 모듈(728)과 결합하여 EL 출력 프레임(706)에서의 화소 샘플들을 예측하는데 이용될 수 있다. EL 출력 프레임(706)의 계층간 화소 샘플 예측을 수행하도록 동작할 때, EL 디코더(704)는, 인트라 예측 모듈(730) 또는 인터 예측 모듈(732) 중 어느 것도 이용하지 않을 수 있다. 그러면, EL 디코더(704)는 EL 출력 프레임(706)의 다양한 CU들에서의 다양한 화소들을 예측하기 위해서 필터링된 화소 샘플들(724)을 이용할 수 있다.
여기에 기술된 시스템들의 다양한 컴포넌트는 소프트웨어 로직, 펌웨어 로직 및/또는 하드웨어 로직 및/또는 이들의 임의의 조합으로 구현될 수 있다. 예를 들어, 시스템(700)의 다양한 컴포넌트는, 적어도 부분적으로, 예를 들어, 스마트폰과 같은 컴퓨팅 시스템에서 발견될 수 있는 컴퓨팅 시스템 온 칩(SoC)의 하드웨어에 의해 제공될 수 있다. 본 기술분야의 통상의 기술자라면, 여기에 기술된 시스템들이 대응하는 도면들에는 도시되지 않은 추가의 컴포넌트들을 포함할 수 있음을 인식할 수 있다. 예를 들어, 시스템들(200 및 700)은 명료함을 위해 도 2 및 도 7에 도시되지 않은 비트스트림 멀티플렉서 모듈 등과 같은 추가의 컴포넌트들을 포함할 수 있다.
도 8은 본 개시물의 다양한 구현에 따른 예시적인 프로세스(800)의 흐름도를 도시한다. 프로세스(800)는 도 8의 블록들(802, 804, 806, 808, 810, 812, 814, 816 및 818) 중 하나 이상에 의해 도시된 바와 같은 하나 이상의 동작, 기능 또는 액션을 포함할 수 있다. 비제한적인 예로서, 프로세스(800)는 디코더 시스템(700)에 의해 수행된 바와 같은 EL 계층의 일부(예를 들어, 이 구현에서는 CU)에 대한 스케일러블 비디오 코딩 프로세스의 적어도 일부를 형성할 수 있다. 또한, 프로세스(800)는, SVC 코덱 모듈(406)이 디코더 시스템(700)을 예시할 수 있는 도 4의 스케일러블 비디오 코딩 시스템(400)을 이용하여 향상 계층 CU를 코딩하는 것, 및 도 6의 예시적인 비트스트림(600)에 관하여 또한 기술될 것이다.
프로세스(800)는 블록(802)에서 시작할 수 있고, 여기서 현재 CU에 대한 계층간 화소 예측을 수행할지에 관한 판정이 이루어질 수 있다. 다양한 구현에서, SVC 코덱(406)은 비트스트림(600)의 헤더 부분(602)에서 수신된 인디케이터(608)의 값에 응답하여 블록(802)을 수행할 수 있다. 예를 들어, 인디케이터(608)가 제1 값(예를 들어, 1)을 갖는다면, SVC 코덱(406)은 현재 CU에 대해 계층간 화소 샘플 예측을 수행하는 것으로 판정할 수 있다. 한편, 인디케이터(608)가 제2 값(예를 들어, 0)을 갖는다면, SVC 코덱(406)은 현재 CU에 대해 계층간 화소 샘플 예측을 수행하지 않는 것으로 판정할 수 있다.
블록(802)에서 네거티브 판정이 있으면, 프로세스(800)는 블록(804)으로 진행할 수 있고, 여기서 현재 CU가 하나 이상의 이전에 디코딩된 CU들에 기초하여 디코딩되는 스킵 모드를 적용할지에 관한 판정이 이루어질 수 있다. 블록(804)에서 스킵 모드가 호출되면, 프로세스(800)는 블록(814)으로 진행할 수 있고, 여기서 스킵 모드 구현을 위해 현재 CU에 대한 화소 값들이 하나 이상의 이전에 디코딩된 CU들에 기초하여 복원될 수 있다.
한편, 블록(804)에서 스킵 모드가 호출되지 않으면, 프로세스(800)는 블록(806)으로 진행할 수 있고, 여기서 CU에 대해 인트라 또는 인터 예측을 수행할지에 관한 판정이 이루어질 수 있다. 인트라 예측이 선택되면, 프로세스(800)는 블록(808)으로 진행할 수 있고, 여기서 공지된 인트라-계층 인트라 예측 기법을 이용하는 인트라 예측이 수행될 수 있다. 인터 예측이 선택되면, 프로세스(800)는 블록(810)으로 진행할 수 있고, 여기서 공지된 인트라-계층 인터 예측 기법을 이용하는 인터 예측이 수행될 수 있다. 다양한 구현에서, SVC 코덱(406)은, 예를 들어, 블록(808)을 수행하기 위해서 디코더(704)의 인트라 예측 모듈(730)을 이용하고 블록(810)을 수행하기 위해서 디코더(704)의 인터 예측 모듈(732)을 이용하여 블록들(804, 806, 808 및 810)을 수행할 수 있다.
프로세스(800)는 블록(812)에서 계속될 수 있고, 여기서 공지된 리지듀얼 디코딩 기법 및 블록(808 또는 810)의 결과를 이용하여 리지듀얼 디코딩이 수행될 수 있다. 프로세스(800)는 블록(814)에서 종결될 수 있고, 여기서 공지된 기법 및 블록(812)의 결과를 이용하여 CU 화소 값들이 복원될 수 있다.
블록(802)의 논의로 돌아가서, 블록(802)에서 포지티브 판정이 있다면, 프로세스(800)는 블록(816)으로 진행할 수 있고, 여기서 프로세스(300)에 대해서 위에 기술된 것과 유사한 방식으로 하위 계층(들)으로부터 획득된 화소 샘플들에 기초하여 예측 화소가 결정될 수 있다. 다양한 구현에서, SVC 코덱(406)은 제1 값(예를 들어, 1)을 갖는 인디케이터(608)에 응답하여 블록(816)을 수행할 수 있다. 그런 다음, SVC 코덱(406)은, 예를 들어, 코로케이티드 하위 EL 및/또는 BL 블록들에 대응하는 화소 샘플들을 획득할 수 있고, 업샘플 필터링을 화소 샘플들에 적용할 수도 있고 적용하지 않을 수도 있고, 또한 리파이닝 필터를 화소 샘플들에 적용할 수도 있고 적용하지 않을 수도 있다. 또한, 복원된 화소 샘플들의 업샘플 필터링 및/또는 리파인먼트 필터링을 수행할 때, SVC 코덱(406)은 비트스트림(600)에 의해 표시되거나 이 비트스트림에서 전송된 필터 계수들을 이용하여 그렇게 할 수 있다.
프로세스(800)는 블록(818)에서 계속될 수 있고, 여기서 CU에 대한 리지듀얼이 이용가능한지에 관한 판정이 이루어질 수 있다. 다양한 구현에서, CU와 관련되며 디코더에 의해 수신된 비트스트림은 이 비트스트림이 CU에 대한 리지듀얼을 포함하는지를 지정하는 인디케이터를 포함할 수 있다. 예를 들어, SVC 코덱(406)은 비트스트림(600)에서의 인디케이터(610)의 값에 응답하여 블록(818)을 수행할 수 있다. 예를 들어, 인디케이터(610)가 제1 값(예를 들어, 1)을 가지면, 계층간 다이렉트 모드가 호출될 수 있고, 여기서 CU 화소 값들을 복원하기 위해서 리지듀얼과 함께 계층간 화소 예측이 이용되며, 프로세스(800)는 블록(812) 및 그 다음에 블록(814)으로 진행할 수 있다. 이와는 달리, 인디케이터(610)가 제2 값(예를 들어, 0)을 가지면, 계층간 스킵 모드가 호출될 수 있고, 여기서 CU 화소 값들을 복원하기 위해서 리지듀얼 없이 계층간 화소 예측이 이용되며, 프로세스(800)는 블록(812)을 호출하지 않고 직접 블록(814)으로 진행할 수 있다.
프로세스(800)가 EL CU에 대한 디코딩 프로세스로서 본 명세서에 기술되지만, 본 개시물은 CU 레벨의 계층간 화소 샘플 예측의 성능에 한정되지는 않는다. 따라서, 다양한 구현에서, 프로세스(800)는 또한 EL PU에 또는 EL TU에 적용될 수 있다. 또한, 이전에 언급한 바와 같이, 프로세스(800)를 포함하여 여기에 기술된 모든 계층간 화소 샘플 예측 프로세스는 시간적, 공간적 및/또는 품질 스케일러블 비디오 코딩의 임의의 조합의 맥락에서 적용될 수 있다.
도 3 및 도 8에 도시된 바와 같이 예시적인 프로세스(300 및 800)의 구현이 예시된 순서로 도시된 모든 블록들의 수행을 포함할 수 있지만, 본 개시물은 이에 관련하여 한정되지는 않으며, 다양한 예에서, 프로세스(300 및 800)의 구현은 예시된 것과는 상이한 순서로의 그리고/또는 도시된 블록들의 서브세트만의 수행을 포함할 수 있다.
또한, 도 3 및 도 8의 블록들 중 임의의 하나 이상은 하나 이상의 컴퓨터 프로그램 제품에 의해 제공된 명령어들에 응답하여 수행될 수 있다. 이러한 프로그램 제품은, 예를 들어, 프로세서에 의해 실행될 때, 여기에 기술된 기능을 제공할 수 있는 명령어들을 제공하는 신호 베어링 매체를 포함할 수 있다. 컴퓨터 프로그램 제품은 임의의 형태의 하나 이상의 머신 판독가능 매체에 의해 제공될 수 있다. 따라서, 예를 들어, 하나 이상의 프로세서 코어(들)를 포함하는 프로세서는 하나 이상의 머신 판독가능 매체에 의해 프로세서에 전달되는 프로그램 코드 및/또는 명령어들 또는 명령어 세트에 응답하여 도 3 및 도 8에 도시된 블록들 중 하나 이상을 수행할 수 있다. 일반적으로, 머신 판독가능 매체는, 여기에 기술된 디바이스들 및/또는 시스템들 중 임의의 것이 SVC 코덱 모듈(406) 및/또는 비디오 시스템들(100, 200 및 700)의 적어도 부분들을 구현하게 할 수 있는 프로그램 코드 및/또는 명령어들 또는 명령어 세트의 형태로 소프트웨어를 전달할 수 있다.
여기에 기술된 임의의 구현에 이용된 바와 같이, 용어 "모듈"은 여기에 기술된 기능을 제공하도록 구성된 소프트웨어, 펌웨어 및/또는 하드웨어의 임의의 조합을 나타낸다. 소프트웨어는 소프트웨어 패키지, 코드 및/또는 명령어 세트 또는 명령어들로서 구현될 수 있고, 여기에 기술된 임의의 구현에 이용된 바와 같이, "하드웨어"는, 예를 들어, 프로그램가능 회로에 의해 실행되는 명령어들을 저장하는 펌웨어, 상태 머신 회로, 프로그램가능 회로 및/또는 하드와이어드 회로를 단독으로 또는 임의의 조합으로 포함할 수 있다. 모듈들은, 집합적으로 또는 개별적으로, 보다 큰 시스템의 일부를 형성하는 회로, 예를 들어, 집적 회로(IC), 시스템 온 칩(SoC) 등으로서 구현될 수 있다.
도 9는 본 개시물에 따른 예시적인 시스템(900)을 도시한다. 다양한 구현에서, 시스템(900)은 미디어 시스템일 수 있지만, 시스템(900)은 이 맥락에 한정되지는 않는다. 예를 들어, 시스템(900)은 퍼스널 컴퓨터(PC), 랩톱 컴퓨터, 울트라-랩톱 컴퓨터, 태블릿, 터치 패드, 휴대용 컴퓨터, 핸드헬드 컴퓨터, 팜톱 컴퓨터, PDA(personal digital assistant), 셀룰러 전화기, 컴비네이션 셀룰러 전화기/PDA, 텔레비전, 스마트 디바이스(예를 들어, 스마트폰, 스마트 태블릿 또는 스마트 텔레비전), 모바일 인터넷 디바이스(MID), 메시징 디바이스, 데이터 통신 디바이스, 카메라(예를 들어, 포인트-앤-슈트(point-and-shoot) 카메라, 수퍼-줌 카메라, DSLR(digital single-lens reflex) 카메라) 등으로 통합될 수 있다.
다양한 구현에서, 시스템(900)은 디스플레이(920)에 결합된 플랫폼(902)을 포함한다. 플랫폼(902)은 콘텐츠 서비스 디바이스(들)(930) 또는 콘텐츠 전달 디바이스(들)(940) 또는 다른 유사한 콘텐츠 소스들과 같은 콘텐츠 디바이스로부터 콘텐츠를 수신할 수 있다. 하나 이상의 내비게이션 피처를 포함하는 내비게이션 제어기(950)는, 예를 들어, 플랫폼(902) 및/또는 디스플레이(920)와 상호작용하는데 이용될 수 있다. 이들 컴포넌트 각각은 이하 더 상세히 기술된다.
다양한 구현에서, 플랫폼(902)은 칩셋(905), 프로세서(910), 메모리(912), 스토리지(914), 그래픽 서브시스템(915), 애플리케이션들(916) 및/또는 라디오(918)의 임의의 조합을 포함할 수 있다. 칩셋(905)은 프로세서(910), 메모리(912), 스토리지(914), 그래픽 서브 시스템(915), 애플리케이션들(916) 및/또는 라디오(918) 간의 상호통신을 제공할 수 있다. 예를 들어, 칩셋(905)은 스토리지(914)와의 상호통신을 제공할 수 있는 스토리지 어댑터(도시되지 않음)를 포함할 수 있다.
프로세서(910)는 CISC(Complex Instruction Set Computer) 또는 RISC(Reduced Instruction Set Computer) 프로세서들, x86 명령어 세트 호환 프로세서들, 멀티-코어, 또는 임의의 다른 마이크로프로세서 또는 중앙 처리 유닛(CPU)으로서 구현될 수 있다. 다양한 구현에서, 프로세서(910)는 듀얼-코어 프로세서(들), 듀얼-코어 모바일 프로세서(들) 등일 수 있다.
메모리(912)는 랜덤 액세스 메모리(RAM), 동적 랜덤 액세스 메모리(DRAM), 또는 정적 RAM(SRAM)과 같은 휘발성 메모리 디바이스로서 구현될 수 있지만, 이에 한정되지는 않는다.
스토리지(914)는 자기 디스크 드라이브, 광학 디스크 드라이브, 테이프 드라이브, 내부 저장 디바이스, 부착 저장 디바이스, 플래시 메모리, 배터리 백업(backed-up) SDRAM(동기 DRAM) 및/또는 네트워크 액세스가능 저장 디바이스와 같은 비휘발성 저장 디바이스로서 구현될 수 있지만, 이에 한정되지는 않는다. 다양한 구현에서, 스토리지(914)는, 예를 들어, 다수의 하드 드라이브가 포함되어 있을 때 가치있는 디지털 매체에 대한 저장 성능 향상 보호를 증가시키는 기술을 포함할 수 있다.
그래픽 서브 시스템(915)은 디스플레이를 위해 정지 또는 비디오와 같은 이미지들의 처리를 수행할 수 있다. 그래픽 서브시스템(915)은, 예를 들어, 그래픽 처리 유닛(GPU) 또는 비주얼 처리 유닛(VPU)일 수 있다. 아날로그 또는 디지털 인터페이스는 그래픽 서브시스템(915)과 디스플레이(920)를 통신가능하게 연결하는데 이용될 수 있다. 예를 들어, 인터페이스는 고화질 멀티미디어 인터페이스, 디스플레이 포트, 무선 HDMI, 및/또는 무선 HD 컴플라이언트 기술 중 임의의 것일 수 있다. 그래픽 서브시스템(915)은 프로세서(910) 또는 칩셋(905)에 통합될 수 있다. 몇몇 구현에서, 그래픽 서브시스템(915)은 칩셋(905)에 통신가능하게 연결된 독립형 디바이스일 수 있다.
여기에 기술된 그래픽 및/또는 비디오 처리 기술들은 다양한 하드웨어 아키텍처로 구현될 수 있다. 예를 들어, 그래픽 및/또는 비디오 기능은 칩셋 내에 통합될 수 있다. 대안으로, 이산 그래픽 및/또는 비디오 프로세서가 이용될 수 있다. 또 다른 구현으로서, 그래픽 및/또는 비디오 기능들이 멀티-코어 프로세서를 포함하는 범용 프로세서에 제공될 수 있다. 다른 실시예들에서, 이들 기능은 소비자 전자 디바이스에 구현될 수 있다.
라디오(918)는 다양한 적합한 무선 통신 기술을 이용하여 신호를 송수신할 수 있는 하나 이상의 라디오를 포함할 수 있다. 이러한 기술은 하나 이상의 무선 네트워크에 걸친 통신을 포함할 수 있다. 예시적인 무선 네트워크는 WLAN(wireless local area network), WPAN(wireless personal area network), WMAN(wireless metropolitan area network), 셀룰러 네트워크, 및 위성 네트워크를 포함한다(그러나, 이에 한정되지는 않는다). 이러한 네트워크에 걸친 통신에서, 라디오(918)는 임의의 버전의 하나 이상의 적용가능한 표준에 따라 동작할 수 있다.
다양한 구현에서, 디스플레이(920)는 임의의 텔레비전 타입 모니터 또는 디스플레이를 포함할 수 있다. 디스플레이(920)는, 예를 들어, 컴퓨터 디스플레이 스크린, 터치 스크린 디스플레이, 비디오 모니터, 텔레비전형 디바이스, 및/또는 텔레비전을 포함할 수 있다. 디스플레이(920)는 디지털 및/또는 아날로그일 수 있다. 다양한 구현에서, 디스플레이(920)는 홀로그래픽 디스플레이일 수 있다. 또한, 디스플레이(920)는 비주얼 프로젝션을 수신할 수 있는 투명한 표면일 수 있다. 이러한 프로젝션들은 다양한 형태의 정보, 이미지 및/또는 오브젝트를 전달할 수 있다. 예를 들어, 이러한 프로젝션들은 모바일 증강 현실(MAR: mobile augmented reality) 애플리케이션을 위한 비주얼 오버레이일 수 있다. 하나 이상의 소프트웨어 애플리케이션들(916)의 제어 하에, 플랫폼(902)은 디스플레이(920) 상에 사용자 인터페이스(922)를 디스플레이할 수 있다.
다양한 구현에서, 콘텐츠 서비스 디바이스(들)(930)는 임의의 국내, 국제 및/또는 독립 서비스에 의해 호스팅될 수 있고, 따라서 예를 들어 인터넷을 통해 플랫폼(902)에 액세스가능할 수 있다. 콘텐츠 서비스 디바이스(들)(930)는 플랫폼(902) 및/또는 디스플레이(920)에 연결될 수 있다. 플랫폼(902) 및/또는 콘텐츠 서비스 디바이스(들)(930)는 네트워크(960)로/로부터 미디어 정보를 통신(예를 들어, 송신 및/또는 수신)하기 위해 네트워크(960)에 연결될 수 있다. 콘텐츠 전달 디바이스(들)(940)도 또한 플랫폼(902) 및/또는 디스플레이(920)에 연결될 수 있다.
다양한 구현에서, 콘텐츠 서비스 디바이스(들)(930)는 디지털 정보 및/또는 콘텐츠를 전달할 수 있는 인터넷 가능 디바이스나 기기, 전화기, 네트워크, 퍼스널 컴퓨터, 케이블 텔레비전 박스, 및 네트워크(960)를 통해 또는 직접적으로 콘텐츠 프로바이더와 플랫폼(902) 및/또는 디스플레이(920) 간에 콘텐츠를 단방향으로 또는 양방향으로 통신할 수 있는 임의의 다른 유사한 디바이스를 포함할 수 있다. 콘텐츠가 네트워크(960)를 통해 콘텐츠 프로바이더 및 시스템(900)에서의 컴포넌트들 중 임의의 컴포넌트로/로부터 양방향으로 및/또는 단방향으로 통신될 수 있음이 인식될 것이다. 콘텐츠의 예는, 예를 들어, 비디오, 뮤직, 의학 및 게임 정보 등을 포함하는 임의의 미디어 정보를 포함할 수 있다.
콘텐츠 서비스 디바이스(들)(930)는 미디어 정보, 디지털 정보 및/또는 다른 콘텐츠를 포함하는 케이블 텔레비전 프로그래밍과 같은 콘텐츠를 수신할 수 있다. 콘텐츠 프로바이더의 예는 임의의 케이블 또는 위성 텔레비전 또는 라디오 또는 인터넷 콘텐츠 프로바이더를 포함할 수 있다. 제공된 예들은 본 개시물에 따른 구현들을 임의의 방식으로 제한하는 것을 의미하지는 않는다.
다양한 구현에서, 플랫폼(902)은 하나 이상의 내비게이션 피처를 갖는 내비게이션 제어기(950)로부터 제어 신호를 수신할 수 있다. 제어기(950)의 내비게이션 피처들은, 예를 들어, 사용자 인터페이스(922)와 상호작용하는데 이용될 수 있다. 다양한 실시예에서, 내비게이션 제어기(950)는, 사용자가 공간적(예를 들어, 연속적 및 다차원적) 데이터를 컴퓨터에 입력할 수 있게 하는 컴퓨터 하드웨어 컴포넌트(구체적으로, 휴먼 인터페이스 디바이스)일 수 있는 포인팅 디바이스일 수 있다. 텔레비전과 모니터, 및 그래픽 사용자 인터페이스(GUI)와 같은 다수의 시스템은 사용자가 물리적 제스처를 이용하여 컴퓨터 또는 텔레비전을 제어하고 이들에 데이터를 제공할 수 있게 한다.
제어기(950)의 내비게이션 피처들의 이동은 디스플레이 상에 디스플레이된 포인터, 커서, 포커스 링 또는 다른 비주얼 인디케이터의 이동에 의해 디스플레이(예를 들어, 디스플레이(920)) 상에 복제될 수 있다. 예를 들어, 소프트웨어 애플리케이션들(916)의 제어 하에, 내비게이션 제어기(950) 상에 위치된 내비게이션 피처들은, 예를 들어, 사용자 인터페이스(922) 상에 디스플레이된 가상 내비게이션 피처들에 매핑(mapping)될 수 있다. 다양한 실시예에서, 제어기(950)는 별도의 컴포넌트가 아닐 수 있지만, 플랫폼(902) 및/또는 디스플레이(920)에 통합될 수 있다. 그러나, 본 개시물은 여기에 기술되거나 도시된 요소들 또는 맥락에 한정되지는 않는다.
다양한 구현에서, 드라이버들(도시되지 않음)은, 예를 들어, 인에이블될 때, 초기 부트업 후에 버튼의 터치로 텔레비전과 같은 플랫폼(902)을 사용자가 즉시 턴온 및 턴오프할 수 있게 하는 기술을 포함할 수 있다. 프로그램 로직은, 플랫폼이 턴 "오프"되어 있더라도 플랫폼(902)이 콘텐츠를 미디어 어댑터 또는 다른 콘텐츠 서비스 디바이스(들)(930) 또는 콘텐츠 전달 디바이스(들)(940)에 스트리밍하는 것을 허용할 수 있다. 또한, 칩셋(905)은, 예를 들어, 5.1 서라운드 사운드 오디오 및/또는 고화질 7.1 서라운드 사운드 오디오를 위한 하드웨어 및/또는 소프트웨어 서포트를 포함할 수 있다. 드라이버들은 통합 그래픽 플랫폼들을 위한 그래픽 드라이버를 포함할 수 있다. 다양한 실시예에서, 그래픽 드라이버는 PCI(peripheral component interconnect) 익스프레스 그래픽 카드를 포함할 수 있다.
다양한 구현에서, 시스템(900)에 도시된 임의의 하나 이상의 컴포넌트들은 통합될 수 있다. 예를 들어, 플랫폼(902) 및 콘텐츠 서비스 디바이스(들)(930)가 통합될 수 있고, 또는 플랫폼(902) 및 콘텐츠 전달 디바이스(들)(940)가 통합될 수 있고, 또는 예를 들어 플랫폼(902), 콘텐츠 서비스 디바이스(들)(930) 및 콘텐츠 전달 디바이스(들)(940)가 통합될 수 있다. 다양한 실시예에서, 플랫폼(902) 및 디스플레이(920)는 통합 유닛일 수 있다. 예를 들어, 디스플레이(920) 및 콘텐츠 서비스 디바이스(들)(930)가 통합될 수 있고, 또는 디스플레이(920) 및 콘텐츠 전달 디바이스(들)(940)가 통합될 수 있다. 이들 예는 본 개시물을 제한하는 것을 의미하지는 않는다.
다양한 실시예에서, 시스템(900)은 무선 시스템, 유선 시스템 또는 이 둘의 조합으로 구현될 수 있다. 무선 시스템으로 구현될 때, 시스템(900)은 하나 이상의 안테나, 송신기, 수신기, 송수신기, 증폭기, 필터, 제어 로직 등과 같이 무선 공유 매체를 통해 통신하기에 적합한 컴포넌트들 및 인터페이스들을 포함할 수 있다. 무선 공유 매체의 예는 RF 스펙트럼 등과 같은 무선 스펙트럼의 부분들을 포함할 수 있다. 유선 시스템으로 구현될 때, 시스템(900)은 입/출력(I/O) 어댑터들, I/O 어댑터를 대응하는 유선 통신 매체에 연결하기 위한 물리적 커넥터들, 네트워크 인터페이스 카드(NIC), 디스크 제어기, 비디오 제어기, 오디오 제어기 등과 같이 유선 통신 매체를 통해 통신하기에 적합한 컴포넌트들 및 인터페이스들을 포함할 수 있다. 유선 통신 매체의 예는 와이어, 케이블, 금속 리드, 인쇄 회로 기판(PCB), 백플레인, 스위치 패브릭(switch fabric), 반도체 재료, 연선(twisted-pair wire), 동축 케이블, 광섬유(fiber optics) 등을 포함할 수 있다.
플랫폼(902)은 정보를 통신하기 위해서 하나 이상의 논리적 또는 물리적 채널을 구축할 수 있다. 정보는 미디어 정보 및 제어 정보를 포함할 수 있다. 미디어 정보는 사용자를 위한 콘텐츠를 나타내는 임의의 데이터를 가리킬 수 있다. 콘텐츠의 예는, 예를 들어, 음성 대화, 비디오 회의, 스트리밍 비디오, 전자 메일("이메일") 메시지, 음성 메일 메시지, 영숫자 심볼, 그래픽, 이미지, 비디오, 텍스트 등으로부터의 데이터를 포함할 수 있다. 음성 대화로부터의 데이터는, 예를 들어, 스피치 정보, 묵음 기간(silence periods), 배경 잡음, 통신 소음(comfort noise), 톤 등일 수 있다. 제어 정보는 자동화 시스템을 위한 커맨드, 명령 또는 제어 워드를 나타내는 임의의 데이터를 지칭할 수 있다. 예를 들어, 제어 정보는, 시스템을 통해 미디어 정보를 라우트하거나 또는 미리 결정된 방식으로 미디어 정보를 처리하도록 노드에 지시하는데 이용될 수 있다. 그러나, 이들 실시예는 도 9에 도시되거나 기술된 요소들 또는 맥락에 한정되지는 않는다.
위에 기술된 바와 같이, 시스템(900)은 다양한 물리적 스타일 또는 폼 팩터들로 구현될 수 있다. 도 10은 시스템(1000)이 구현될 수 있는 작은 폼 팩터 디바이스(1000)의 구현을 도시한다. 다양한 실시예에서, 예를 들어, 디바이스(1000)는 무선 능력들을 갖는 모바일 컴퓨팅 디바이스로서 구현될 수 있다. 모바일 컴퓨팅 디바이스는, 처리 시스템, 및 예를 들어 하나 이상의 배터리와 같은 모바일 전원 또는 전력 공급 장치를 갖는 임의의 디바이스를 나타낼 수 있다.
위에 기술된 바와 같이, 모바일 컴퓨팅 디바이스의 예는 퍼스널 컴퓨터(PC), 랩톱 컴퓨터, 울트라-랩톱 컴퓨터, 태블릿, 터치 패드, 휴대용 컴퓨터, 핸드헬드 컴퓨터, 팜톱 컴퓨터, PDA(personal digital assistant), 셀룰러 전화기, 컴비네이션 셀룰러 전화기/PDA, 텔레비전, 스마트 디바이스(예를 들어, 스마트폰, 스마트 태블릿 또는 스마트 텔레비전), 모바일 인터넷 디바이스(MID), 메시징 디바이스, 데이터 통신 디바이스, 카메라(예를 들어, 포인트-앤-슈트(point-and-shoot) 카메라, 수퍼-줌 카메라, DSLR(digital single-lens reflex) 카메라) 등을 포함할 수 있다.
또한, 모바일 컴퓨팅 디바이스의 예는, 손목 컴퓨터, 핑거 컴퓨터, 링 컴퓨터, 안경 컴퓨터, 벨트-클립 컴퓨터, 암-밴드 컴퓨터, 신발 컴퓨터, 옷 컴퓨터 및 다른 착용가능 컴퓨터와 같이, 사람에 의해 착용되도록 구성되는 컴퓨터들을 포함할 수 있다. 다양한 실시예에서, 예를 들어, 모바일 컴퓨팅 디바이스는 음성 통신 및/또는 데이터 통신뿐만 아니라 컴퓨터 애플리케이션들을 실행할 수 있는 스마트폰으로 구현될 수 있다. 몇몇 실시예가 예로서 스마트폰으로 구현된 모바일 컴퓨팅 디바이스에 대해 기술되었지만, 다른 실시예들도 또한 다른 무선 모바일 컴퓨팅 디바이스를 이용하여 구현될 수 있음이 인식될 수 있다. 실시예들은 이 맥락에 한정되지는 않는다.
도 10에 도시된 바와 같이, 디바이스(1000)는 하우징(1002), 디스플레이(1004), 입력/출력(I/O) 디바이스(1006) 및 안테나(1008)를 포함할 수 있다. 디바이스(1000)는 또한 내비게이션 피처들(1012)을 포함할 수 있다. 디스플레이(1004)는 모바일 컴퓨팅 디바이스에 적절한 정보를 디스플레이하기 위한 임의의 적합한 디스플레이 유닛을 포함할 수 있다. I/O 디바이스(1006)는 모바일 컴퓨팅 디바이스에 정보를 입력하기 위한 임의의 적합한 I/O 디바이스를 포함할 수 있다. I/O 디바이스(1006)의 예는 영숫자 키보드, 숫자 키패드, 터치 패드, 입력 키, 버튼, 스위치, 로커 스위치, 마이크로폰, 스피커, 음성 인식 디바이스 및 소프트웨어 등을 포함할 수 있다. 정보는 또한 마이크로폰(도시되지 않음)에 의해 디바이스(1000)에 입력될 수 있다. 이러한 정보는 음성 인식 디바이스(도시되지 않음)에 의해 디지털화될 수 있다. 실시예들은 이 맥락에 한정되지는 않는다.
다양한 실시예들은 하드웨어 요소들, 소프트웨어 요소들 또는 이들의 조합을 이용하여 구현될 수 있다. 하드웨어 요소들의 예는 프로세서, 마이크로프로세서, 회로, 회로 요소(예를 들어, 트랜지스터, 저항기, 커패시터, 인덕터 등), 집적 회로, 주문형 반도체(ASIC), 프로그램가능 로직 디바이스(PLD), 디지털 신호 프로세서(DSP), 필드 프로그램가능 게이트 어레이(FPGA), 로직 게이트, 레지스터, 반도체 디바이스, 칩, 마이크로칩, 칩셋 등을 포함할 수 있다. 소프트웨어의 예는 소프트웨어 컴포넌트, 프로그램, 애플리케이션, 컴퓨터 프로그램, 애플리케이션 프로그램, 시스템 프로그램, 머신 프로그램, 운영 체제 소프트웨어, 미들웨어, 펌웨어, 소프트웨어 모듈, 루틴, 서브루틴, 함수, 방법, 절차, 소프트웨어 인터페이스, 애플리케이션 프로그램 인터페이스(API), 명령어 세트, 컴퓨팅 코드, 컴퓨터 코드, 코드 세그먼트, 컴퓨터 코드 세그먼트, 워드, 값, 심볼 또는 이들의 임의의 조합을 포함할 수 있다. 실시예가 하드웨어 요소들 및/또는 소프트웨어 요소들을 이용하여 구현되는지에 대한 판정은, 원하는 계산 레이트, 전력 레벨, 내열성(heat tolerances), 처리 사이클 버짓, 입력 데이터 레이트, 출력 데이터 레이트, 메모리 자원, 데이터 버스 속도 및 다른 디자인 또는 성능 제약과 같은 임의의 수의 인자에 따라 변할 수 있다.
적어도 하나의 실시예의 하나 이상의 양태는, 머신에 의해 판독될 때 이 머신이 여기에 기술된 기술들을 수행하기 위한 로직을 조작하게 하는, 프로세서 내의 다양한 로직을 나타내는 머신 판독가능 매체 상에 저장된 대표적인 명령어들(representative instructions)에 의해 구현될 수 있다. "IP 코어"로 알려진 이러한 표현은 유형의(tangible) 머신 판독가능 매체 상에 저장되고, 다양한 고객 또는 제조 설비에 공급되어, 실제로 로직 또는 프로세서를 만드는 제조 머신에 로딩될 수 있다.
여기에 제시된 특정한 특징들이 다양한 구현과 관련하여 설명되었지만, 이 설명은 제한하는 의미로 해석되도록 의도되지는 않는다. 따라서, 여기에 기술된 구현들의 다양한 수정뿐만 아니라 본 개시물이 속하는 기술분야의 통상의 기술자에게 명백한 다른 구현들은 본 개시물의 사상 및 범위 내에 있는 것으로 간주된다.
본 개시물에 따르면, 베이스 계층 비디오 프레임으로부터 획득된 화소 샘플은 향상 계층 비디오 디코더에서 액세스될 수 있고, 향상 계층 프레임의 적어도 일부의 계층간 화소 예측은 적어도 부분적으로 화소 샘플에 응답하여 수행될 수 있다. 계층간 화소 예측을 수행하는 것은 적어도 부분적으로 화소 샘플 및 리지듀얼에 응답하여 계층간 화소 예측을 수행하는 것을 포함할 수 있다.
본 개시물에 따르면, 향상 계층 프레임은 시간적, 공간적 또는 품질 향상 계층 프레임 중 적어도 하나일 수 있다. 계층간 화소 예측을 수행하는 것은 슬라이스, 화상 또는 계층 레벨 중 적어도 하나에 대해 계층간 화소 예측을 수행하는 것을 포함할 수 있다. 향상 계층 프레임 부분은 코딩 유닛(CU), 예측 유닛(PU) 또는 변환 유닛(TU) 중 하나일 수 있다.
본 개시물에 따르면, 계층간 화소 예측을 수행하는 것은 향상 계층 비디오 디코더에서 수신된 비트스트림에 포함되는 인디케이터에 응답하여 계층간 화소 예측을 수행하는 것을 포함할 수 있다. 제1 상태에서, 인디케이터는 향상 계층 비디오 디코더가 계층간 화소 예측을 수행해야 함을 지정할 수 있고, 제2 상태에서, 인디케이터는 향상 계층 비디오 디코더가 계층간 화소 예측을 수행하지 않아야 함을 지정할 수 있다. 인디케이터는 레이트 왜곡 코스트에 응답하여 제1 상태 또는 제2 상태 중 하나의 상태에 배치될 수 있다. 향상 계층 프레임의 부분은 향상 계층 프레임의 하나 이상의 블록을 포함할 수 있고, 화소 샘플은 베이스 계층 프레임의 하나 이상의 코로케이티드 블록에 대응할 수 있다. 베이스 계층 프레임의 코로케이티드 블록들은 인트라 코딩된 블록들, 인터 코딩된 블록들, 또는 하이브리드 인트라/인터 코딩된 블록들일 수 있다.
본 개시물에 따르면, 계층간 화소 예측을 수행하기 전에 화소 샘플에 업샘플 필터가 적용될 수 있다. 업샘플 필터는 고정 업샘플 계수들을 가질 수 있고, 또는 적응 업샘플 계수들을 가질 수 있다. 또한, 계층간 화소 예측을 수행하기 전에 화소 샘플에 리파이닝 필터가 적용될 수 있다. 리파이닝 필터는 고정 리파이닝 계수들을 가질 수 있고, 또는 적응 리파이닝 계수들을 가질 수 있다.
본 개시물에 따르면, 베이스 계층 비디오 프레임으로부터 획득된 화소 샘플은 향상 계층 비디오 인코더에서 액세스될 수 있고, 향상 계층 프레임의 적어도 일부의 계층간 화소 예측은 적어도 부분적으로 화소 샘플에 응답하여 수행될 수 있다. 계층간 화소 예측을 수행하는 것은 적어도 부분적으로 화소 샘플 및 리지듀얼에 응답하여 계층간 화소 예측을 수행하는 것을 포함할 수 있다. 또한, 향상 계층 프레임은 계층간 화소 예측의 수행 후에 엔트로피 인코딩될 수 있고, 엔트로피 인코딩된 향상 계층 프레임을 포함하는 비트스트림이 생성될 수 있다. 엔트로피 인코딩된 향상 계층 프레임은 리지듀얼을 포함할 수 있다.
본 개시물에 따르면, 인디케이터가 생성될 수 있는데, 제1 상태에서, 인디케이터는 계층간 화소 예측이 향상 계층 프레임의 일부에 대해 수행되어야 함을 지정하고, 제2 상태에서, 인디케이터는 계층간 화소 예측이 향상 계층 프레임의 일부에 대해 수행되지 않아야 함을 지정한다. 이후, 인디케이터는 비트스트림 내에 배치될 수 있다. 인디케이터는 레이트 왜곡 코스트에 응답하여 제1 상태 또는 제2 상태 중 하나의 상태에 배치될 수 있다.
Claims (30)
- 비디오 디코더 장치로서,
향상 계층 영역(enhancement layer region)을 결정하는데 계층간 예측(inter-layer prediction)이 이용되는지 여부와 관계없이 베이스 계층 영역(base layer region)의 크로마(chroma) 및 루마(luma) 샘플들을 선택적으로 업샘플링하는 회로 - 상기 향상 계층 영역은 상기 베이스 계층 영역의 적어도 일부에 대응함 -, 및
상기 베이스 계층 영역의 업샘플링된 크로마 및 루마 샘플들의 일부에 적어도 부분적으로 기초하는 계층간 예측의 이용에 의해 상기 향상 계층 영역을 선택적으로 결정하는 회로
를 포함하는 비디오 디코더 장치. - 제1항에 있어서,
베이스 계층 영역의 크로마 및 루마 샘플들을 업샘플링하는 것은 고정된 계수들을 갖는 멀티탭 필터의 이용을 포함하는 비디오 디코더 장치. - 제1항에 있어서,
인트라 예측(intra prediction)의 이용에 의해 상기 향상 계층 영역을 선택적으로 결정하는 회로, 및
인터 예측(inter prediction)의 이용에 의해 상기 향상 계층 영역을 선택적으로 결정하는 회로를 포함하는 비디오 디코더 장치. - 제1항에 있어서,
상기 업샘플링된 크로마 및 루마 샘플들을 리파인(refine)하는 회로를 포함하는 비디오 디코더 장치. - 제1항에 있어서,
비트스트림 부분을 수신하는 회로를 포함하고, 상기 비트스트림 부분은 상기 향상 계층 영역을 결정하도록 계층간 예측을 이용할지 여부를 표시하는 플래그를 포함하는 비디오 디코더 장치. - 제5항에 있어서,
상기 비트스트림 부분은 리지듀얼(residual) 및 상기 향상 계층 영역의 결정을 위해 상기 리지듀얼을 이용할지 여부를 표시하는 플래그를 포함하는 비디오 디코더 장치. - 제6항에 있어서,
상기 베이스 계층 영역의 업샘플링된 크로마 및 루마 샘플들의 일부에 적어도 부분적으로 기초하는 계층간 예측의 이용에 의해 상기 향상 계층 영역을 선택적으로 결정하는 상기 회로는 상기 향상 계층 영역의 결정을 위해 상기 리지듀얼을 이용하는 것에 대한 표시를 갖는 상기 플래그에 응답하여 상기 리지듀얼을 또한 이용하는 비디오 디코더 장치. - 제1항에 있어서,
라디오, 및
상기 라디오에 통신가능하게 연결된 적어도 하나의 안테나를 포함하는 비디오 디코더 장치. - 제8항에 있어서,
하나 이상의 프로세서 회로,
상기 하나 이상의 프로세서 회로에 통신가능하게 연결된 적어도 하나의 메모리, 및
상기 하나 이상의 프로세서 회로에 통신가능하게 연결된 디스플레이를 포함하고, 상기 디스플레이는 상기 결정된 향상 계층 영역에 적어도 부분적으로 기초하여 이미지를 디스플레이하는 비디오 디코더 장치. - 제1항에 있어서,
상기 회로 중 하나 이상은 하나 이상의 프로세서에 의해 실행되는 소프트웨어, 하드웨어, 또는 펌웨어 중 어느 하나 또는 그들의 조합을 포함하는 비디오 디코더 장치. - 제1항에 있어서,
상기 베이스 계층 영역은 화상을 포함하는 비디오 디코더 장치. - 제1항에 있어서,
상기 향상 계층 영역이 상기 베이스 계층 영역의 적어도 일부에 대응하는 것은 상기 향상 계층 영역이 상기 베이스 계층 영역의 적어도 일부와 코로케이팅되는(co-located) 것을 포함하는 비디오 디코더 장치. - 저장된 명령어들을 포함하는 적어도 하나의 비일시적 컴퓨터 판독가능 매체로서, 상기 명령어들은 컴퓨터에 의해 실행되는 경우, 상기 컴퓨터로 하여금,
향상 계층 영역을 결정하는데 계층간 예측이 이용되는지 여부와 관계없이 베이스 계층 영역의 크로마 및 루마 샘플들을 선택적으로 업샘플링하게 하고 - 상기 향상 계층 영역은 상기 베이스 계층 영역의 적어도 일부에 대응함 -,
상기 베이스 계층 영역의 업샘플링된 크로마 및 루마 샘플들의 일부에 적어도 부분적으로 기초하는 계층간 예측의 이용에 의해 상기 향상 계층 영역을 선택적으로 결정하게 하는
컴퓨터 판독가능 매체. - 제13항에 있어서,
상기 컴퓨터가 베이스 계층 영역의 크로마 및 루마 샘플들을 업샘플링할 때, 상기 컴퓨터는 고정된 계수들을 포함하는 멀티탭 필터링 기법을 이용하는 컴퓨터 판독가능 매체. - 제13항에 있어서,
컴퓨터에 의해 실행되는 경우, 상기 컴퓨터로 하여금,
인트라 예측의 이용에 의해 상기 향상 계층 영역을 선택적으로 결정하게 하고,
인터 예측의 이용에 의해 상기 향상 계층 영역을 선택적으로 결정하게 하는 저장된 명령어들을 더 포함하는 컴퓨터 판독가능 매체. - 제13항에 있어서,
컴퓨터에 의해 실행되는 경우, 상기 컴퓨터로 하여금,
상기 업샘플링된 크로마 및 루마 샘플들을 리파인하게 하는 저장된 명령어들을 더 포함하는 컴퓨터 판독가능 매체. - 제13항에 있어서,
컴퓨터에 의해 실행되는 경우, 상기 컴퓨터로 하여금,
비트스트림 부분을 수신하게 하는 저장된 명령어들을 더 포함하고, 상기 비트스트림 부분은 상기 향상 계층 영역을 결정하도록 계층간 예측을 이용할지 여부를 표시하는 플래그를 포함하는 컴퓨터 판독가능 매체. - 제17항에 있어서,
상기 비트스트림 부분은 리지듀얼 및 상기 향상 계층 영역의 결정을 위해 상기 리지듀얼을 이용할지 여부를 표시하는 플래그를 포함하는 컴퓨터 판독가능 매체. - 제18항에 있어서,
상기 베이스 계층 영역의 업샘플링된 크로마 및 루마 샘플들의 일부에 적어도 부분적으로 기초하는 계층간 예측의 이용에 의해 상기 향상 계층 영역을 결정하는 것은 상기 향상 계층 영역의 결정을 위해 상기 리지듀얼을 이용하는 것에 대한 표시를 갖는 상기 플래그에 응답하여 상기 리지듀얼에 또한 기초하는 컴퓨터 판독가능 매체. - 제13항에 있어서,
상기 베이스 계층 영역은 화상을 포함하는 컴퓨터 판독가능 매체. - 제13항에 있어서,
상기 향상 계층 영역이 상기 베이스 계층 영역의 적어도 일부에 대응하는 것은 상기 향상 계층 영역이 상기 베이스 계층 영역의 적어도 일부와 코로케이팅되는 것을 포함하는 컴퓨터 판독가능 매체. - 컴퓨터 구현 방법으로서,
향상 계층 영역을 결정하는데 계층간 예측이 이용되는지 여부와 관계없이 베이스 계층 영역의 크로마 및 루마 샘플들을 선택적으로 업샘플링하는 단계 - 상기 향상 계층 영역은 상기 베이스 계층 영역의 적어도 일부에 대응함 -, 및
상기 베이스 계층 영역의 업샘플링된 크로마 및 루마 샘플들의 일부에 적어도 부분적으로 기초하는 계층간 예측의 이용에 의해 상기 향상 계층 영역을 선택적으로 결정하는 단계
를 포함하는 컴퓨터 구현 방법. - 제22항에 있어서,
베이스 계층 영역의 크로마 및 루마 샘플들을 업샘플링하는 단계는 고정된 계수들을 포함하는 멀티탭 필터링 기법을 이용하는 단계를 포함하는 컴퓨터 구현 방법. - 제22항에 있어서,
인트라 예측의 이용에 의해 상기 향상 계층 영역을 선택적으로 결정하는 단계, 및
인터 예측의 이용에 의해 상기 향상 계층 영역을 선택적으로 결정하는 단계를 더 포함하는 컴퓨터 구현 방법. - 제22항에 있어서,
상기 업샘플링된 크로마 및 루마 샘플들을 리파인하는 단계를 더 포함하는 컴퓨터 구현 방법. - 제22항에 있어서,
비트스트림 부분을 수신하는 단계를 더 포함하고, 상기 비트스트림 부분은 상기 향상 계층 영역을 결정하도록 계층간 예측을 이용할지 여부를 표시하는 플래그를 포함하는 컴퓨터 구현 방법. - 제26항에 있어서,
상기 비트스트림 부분은 리지듀얼 및 상기 향상 계층 영역을 결정하기 위해 상기 리지듀얼을 이용할지 여부를 표시하는 플래그를 포함하는 컴퓨터 구현 방법. - 제27항에 있어서,
상기 베이스 계층 영역의 업샘플링된 크로마 및 루마 샘플들의 일부에 적어도 부분적으로 기초하는 계층간 예측의 이용에 의해 상기 향상 계층 영역을 결정하는 단계는 상기 향상 계층 영역을 결정하기 위해 상기 리지듀얼을 이용하는 것에 대한 표시를 갖는 상기 플래그에 응답하여 상기 리지듀얼에 또한 기초하는 컴퓨터 구현 방법. - 제22항에 있어서,
상기 베이스 계층 영역은 화상을 포함하는 컴퓨터 구현 방법. - 제22항에 있어서,
상기 향상 계층 영역이 상기 베이스 계층 영역의 적어도 일부에 대응하는 것은 상기 향상 계층 영역이 상기 베이스 계층 영역의 적어도 일부와 코로케이팅되는 것을 포함하는 컴퓨터 구현 방법.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2012/082369 WO2014047893A1 (en) | 2012-09-28 | 2012-09-28 | Inter-layer pixel sample prediction |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR20157004611A Division KR20150038249A (ko) | 2012-09-28 | 2012-09-28 | 계층간 화소 샘플 예측 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20150050561A true KR20150050561A (ko) | 2015-05-08 |
Family
ID=50386865
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR20157004611A KR20150038249A (ko) | 2012-09-28 | 2012-09-28 | 계층간 화소 샘플 예측 |
KR1020157006573A KR20150050561A (ko) | 2012-09-28 | 2012-09-28 | 계층간 화소 샘플 예측 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR20157004611A KR20150038249A (ko) | 2012-09-28 | 2012-09-28 | 계층간 화소 샘플 예측 |
Country Status (7)
Country | Link |
---|---|
US (2) | US20140286408A1 (ko) |
EP (2) | EP2911397A1 (ko) |
JP (1) | JP2015530805A (ko) |
KR (2) | KR20150038249A (ko) |
CN (1) | CN104541506A (ko) |
SG (1) | SG11201500311XA (ko) |
WO (1) | WO2014047893A1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019190199A1 (ko) * | 2018-03-27 | 2019-10-03 | 주식회사 케이티 | 비디오 신호 처리 방법 및 장치 |
WO2024058595A1 (ko) * | 2022-09-16 | 2024-03-21 | 주식회사 케이티 | 영상 부호화/복호화 방법 및 비트스트림을 저장하는 기록 매체 |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SG11201500314WA (en) * | 2012-09-28 | 2015-02-27 | Intel Corp | Inter-layer residual prediction |
JP6763664B2 (ja) * | 2012-10-01 | 2020-09-30 | ジーイー ビデオ コンプレッション エルエルシー | エンハンスメント層作動パラメータのためのベース層ヒントを使用するスケーラブルビデオ符号化 |
US9544612B2 (en) * | 2012-10-04 | 2017-01-10 | Intel Corporation | Prediction parameter inheritance for 3D video coding |
US20140198846A1 (en) * | 2013-01-16 | 2014-07-17 | Qualcomm Incorporated | Device and method for scalable coding of video information |
WO2014163462A1 (ko) * | 2013-04-05 | 2014-10-09 | 삼성전자 주식회사 | 필터링과 관련하여 비디오의 부호화 및 복호화를 수행하는 방법과 그 장치 |
US10467496B2 (en) * | 2015-08-31 | 2019-11-05 | Apple Inc. | Temporal filtering of independent color channels in image data |
KR20210016581A (ko) | 2018-06-05 | 2021-02-16 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | Ibc 및 atmvp 간의 상호 작용 |
WO2019234669A1 (en) | 2018-06-07 | 2019-12-12 | Beijing Bytedance Network Technology Co., Ltd. | Signaled mv precision |
KR102701593B1 (ko) | 2018-06-21 | 2024-08-30 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 칼라 컴포넌트 간의 서브 블록 mv 상속 |
WO2019244117A1 (en) | 2018-06-21 | 2019-12-26 | Beijing Bytedance Network Technology Co., Ltd. | Unified constrains for the merge affine mode and the non-merge affine mode |
TWI719519B (zh) | 2018-07-02 | 2021-02-21 | 大陸商北京字節跳動網絡技術有限公司 | 對於dmvr的塊尺寸限制 |
CN117768651A (zh) | 2018-09-24 | 2024-03-26 | 北京字节跳动网络技术有限公司 | 处理视频数据的方法、装置、介质、以及比特流存储方法 |
CN111083489B (zh) | 2018-10-22 | 2024-05-14 | 北京字节跳动网络技术有限公司 | 多次迭代运动矢量细化 |
EP3861723A4 (en) | 2018-11-10 | 2022-04-20 | Beijing Bytedance Network Technology Co., Ltd. | ROUNDS IN PAIRS OF MEDIUM CANDIDATE BILLS |
WO2020098643A1 (en) | 2018-11-12 | 2020-05-22 | Beijing Bytedance Network Technology Co., Ltd. | Simplification of combined inter-intra prediction |
CN117319644A (zh) | 2018-11-20 | 2023-12-29 | 北京字节跳动网络技术有限公司 | 基于部分位置的差计算 |
CN113170093B (zh) | 2018-11-20 | 2023-05-02 | 北京字节跳动网络技术有限公司 | 视频处理中的细化帧间预测 |
WO2020156538A1 (en) | 2019-02-03 | 2020-08-06 | Beijing Bytedance Network Technology Co., Ltd. | Interaction between mv precisions and mv difference coding |
CN113424533B (zh) | 2019-02-14 | 2024-09-10 | 北京字节跳动网络技术有限公司 | 复杂度降低的解码器侧运动推导 |
CN113545076A (zh) | 2019-03-03 | 2021-10-22 | 北京字节跳动网络技术有限公司 | 基于图片头中的信息启用bio |
WO2020177756A1 (en) | 2019-03-06 | 2020-09-10 | Beijing Bytedance Network Technology Co., Ltd. | Size dependent inter coding |
CN115190317A (zh) | 2019-04-02 | 2022-10-14 | 抖音视界有限公司 | 解码器侧运动矢量推导 |
CN113728644B (zh) | 2019-05-16 | 2024-01-26 | 北京字节跳动网络技术有限公司 | 基于子区域的运动信息细化确定 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060063532A (ko) * | 2004-12-03 | 2006-06-12 | 삼성전자주식회사 | 다 계층 기반의 비디오 인코딩 방법, 디코딩 방법 및 상기방법을 이용한 장치 |
KR20080003808A (ko) * | 2005-03-18 | 2008-01-08 | 샤프 가부시키가이샤 | 픽처 레벨 적응화를 갖는 확장 공간 스케일러빌리티를 위한방법 및 시스템 |
WO2008007342A2 (en) * | 2006-07-11 | 2008-01-17 | Nokia Corporation | Scalable video coding |
Family Cites Families (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2126467A1 (en) * | 1993-07-13 | 1995-01-14 | Barin Geoffry Haskell | Scalable encoding and decoding of high-resolution progressive video |
US6173013B1 (en) * | 1996-11-08 | 2001-01-09 | Sony Corporation | Method and apparatus for encoding enhancement and base layer image signals using a predicted image signal |
JPH11262009A (ja) * | 1998-01-08 | 1999-09-24 | Matsushita Electric Ind Co Ltd | 映像信号再生装置 |
JPH11331613A (ja) * | 1998-05-20 | 1999-11-30 | Matsushita Electric Ind Co Ltd | 階層型映像信号符号化装置と階層型映像信号復号化装置 |
US6600517B1 (en) * | 2000-03-07 | 2003-07-29 | Koninklijke Philips Electronics N.V. | System and method for improving the sharpness of a video image |
US7386049B2 (en) * | 2002-05-29 | 2008-06-10 | Innovation Management Sciences, Llc | Predictive interpolation of a video signal |
CN101073265B (zh) * | 2004-12-03 | 2012-08-22 | 汤姆森许可贸易公司 | 可缩放视频编码方法 |
WO2006104365A1 (en) * | 2005-04-01 | 2006-10-05 | Lg Electronics Inc. | Method for scalably encoding and decoding video signal |
US7876833B2 (en) * | 2005-04-11 | 2011-01-25 | Sharp Laboratories Of America, Inc. | Method and apparatus for adaptive up-scaling for spatially scalable coding |
WO2006108654A2 (en) * | 2005-04-13 | 2006-10-19 | Universität Hannover | Method and apparatus for enhanced video coding |
WO2007044556A2 (en) * | 2005-10-07 | 2007-04-19 | Innovation Management Sciences, L.L.C. | Method and apparatus for scalable video decoder using an enhancement stream |
KR100781524B1 (ko) * | 2006-04-04 | 2007-12-03 | 삼성전자주식회사 | 확장 매크로블록 스킵 모드를 이용한 인코딩/디코딩 방법및 장치 |
KR100791299B1 (ko) * | 2006-04-11 | 2008-01-04 | 삼성전자주식회사 | 다 계층 기반의 비디오 인코딩 방법 및 장치 |
US8120660B2 (en) * | 2006-07-10 | 2012-02-21 | Freescale Semiconductor, Inc. | Image data up sampling |
JP4787100B2 (ja) * | 2006-07-27 | 2011-10-05 | パナソニック株式会社 | 画像符号化装置 |
EP1933563A1 (en) * | 2006-12-14 | 2008-06-18 | Thomson Licensing | Method and apparatus for encoding and/or decoding bit depth scalable video data using adaptive enhancement layer residual prediction |
EP1933564A1 (en) * | 2006-12-14 | 2008-06-18 | Thomson Licensing | Method and apparatus for encoding and/or decoding video data using adaptive prediction order for spatial and bit depth prediction |
CN101325714B (zh) * | 2007-06-13 | 2010-10-27 | 华为技术有限公司 | 变换数据处理方法和装置以及编码、解码方法和装置 |
US8848787B2 (en) * | 2007-10-15 | 2014-09-30 | Qualcomm Incorporated | Enhancement layer coding for scalable video coding |
US8432968B2 (en) * | 2007-10-15 | 2013-04-30 | Qualcomm Incorporated | Scalable video coding techniques for scalable bitdepths |
CN101888556B (zh) * | 2008-03-19 | 2012-04-25 | 华为技术有限公司 | 编码、解码方法和编码、解码装置 |
FR2932637B1 (fr) * | 2008-06-17 | 2010-08-20 | Canon Kk | Procede et dispositif de codage d'une sequence d'images |
US9571856B2 (en) * | 2008-08-25 | 2017-02-14 | Microsoft Technology Licensing, Llc | Conversion operations in scalable video encoding and decoding |
US8213503B2 (en) * | 2008-09-05 | 2012-07-03 | Microsoft Corporation | Skip modes for inter-layer residual video coding and decoding |
CN102598660B (zh) * | 2009-04-20 | 2015-04-29 | 杜比实验室特许公司 | 用于多层视频传输的自适应内插滤波器 |
US8259819B2 (en) * | 2009-12-10 | 2012-09-04 | Hong Kong Applied Science and Technology Research Institute Company Limited | Method and apparatus for improving video quality by utilizing a unified loop filter |
US9241160B2 (en) * | 2010-07-21 | 2016-01-19 | Dolby Laboratories Licensing Corporation | Reference processing using advanced motion models for video coding |
US20120039383A1 (en) * | 2010-08-12 | 2012-02-16 | Mediatek Inc. | Coding unit synchronous adaptive loop filter flags |
US9813738B2 (en) * | 2010-10-05 | 2017-11-07 | Hfi Innovation Inc. | Method and apparatus of adaptive loop filtering |
EP2853096A4 (en) * | 2012-05-21 | 2016-07-06 | Mediatek Singapore Pte Ltd | METHOD AND APPARATUS FOR FILTERING BETWEEN LAYERS FOR SCALABLE VIDEO CODING |
CN110035286B (zh) * | 2012-07-09 | 2021-11-12 | Vid拓展公司 | 用于多层视频编码的编解码器架构 |
US20140086319A1 (en) * | 2012-09-25 | 2014-03-27 | Sony Corporation | Video coding system with adaptive upsampling and method of operation thereof |
US20140085415A1 (en) * | 2012-09-27 | 2014-03-27 | Nokia Corporation | Method and apparatus for video coding |
-
2012
- 2012-09-28 KR KR20157004611A patent/KR20150038249A/ko not_active Application Discontinuation
- 2012-09-28 EP EP15160628.2A patent/EP2911397A1/en not_active Ceased
- 2012-09-28 US US13/996,574 patent/US20140286408A1/en not_active Abandoned
- 2012-09-28 WO PCT/CN2012/082369 patent/WO2014047893A1/en active Application Filing
- 2012-09-28 JP JP2015528832A patent/JP2015530805A/ja active Pending
- 2012-09-28 CN CN201280075459.7A patent/CN104541506A/zh active Pending
- 2012-09-28 KR KR1020157006573A patent/KR20150050561A/ko not_active Application Discontinuation
- 2012-09-28 SG SG11201500311XA patent/SG11201500311XA/en unknown
- 2012-09-28 EP EP12885593.9A patent/EP2901692A4/en not_active Withdrawn
-
2015
- 2015-03-06 US US14/640,356 patent/US20150181216A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060063532A (ko) * | 2004-12-03 | 2006-06-12 | 삼성전자주식회사 | 다 계층 기반의 비디오 인코딩 방법, 디코딩 방법 및 상기방법을 이용한 장치 |
KR20080003808A (ko) * | 2005-03-18 | 2008-01-08 | 샤프 가부시키가이샤 | 픽처 레벨 적응화를 갖는 확장 공간 스케일러빌리티를 위한방법 및 시스템 |
WO2008007342A2 (en) * | 2006-07-11 | 2008-01-17 | Nokia Corporation | Scalable video coding |
Non-Patent Citations (2)
Title |
---|
D. Hong, et al. Scalability Support in HEVC. JCT-VC of ITU-T and ISO/IEC. JCTVC-F290 Ver.2, Jul. 13, 2011, pp.1-15 * |
D. Hong, et al. Scalability Support in HEVC. JCT-VC of ITU-T and ISO/IEC. JCTVC-F290 Ver.2, Jul. 13, 2011, pp.1-15 1부. * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019190199A1 (ko) * | 2018-03-27 | 2019-10-03 | 주식회사 케이티 | 비디오 신호 처리 방법 및 장치 |
US11146793B2 (en) | 2018-03-27 | 2021-10-12 | Kt Corporation | Video signal processing method and device |
US11711520B2 (en) | 2018-03-27 | 2023-07-25 | Kt Corporation | Video signal processing method and device |
WO2024058595A1 (ko) * | 2022-09-16 | 2024-03-21 | 주식회사 케이티 | 영상 부호화/복호화 방법 및 비트스트림을 저장하는 기록 매체 |
Also Published As
Publication number | Publication date |
---|---|
EP2901692A1 (en) | 2015-08-05 |
SG11201500311XA (en) | 2015-02-27 |
WO2014047893A1 (en) | 2014-04-03 |
US20140286408A1 (en) | 2014-09-25 |
EP2911397A1 (en) | 2015-08-26 |
EP2901692A4 (en) | 2016-04-13 |
CN104541506A (zh) | 2015-04-22 |
KR20150038249A (ko) | 2015-04-08 |
US20150181216A1 (en) | 2015-06-25 |
JP2015530805A (ja) | 2015-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20150050561A (ko) | 계층간 화소 샘플 예측 | |
KR101653511B1 (ko) | 인터-레이어 잔차 예측 | |
US10462467B2 (en) | Refining filter for inter layer prediction of scalable video coding | |
TWI571109B (zh) | 交叉頻道殘差預測之技術(二) | |
KR101650742B1 (ko) | 인터-레이어 인트라 모드 예측 | |
TWI559749B (zh) | 層間移動資料繼承之技術 | |
US10536710B2 (en) | Cross-layer cross-channel residual prediction | |
US9860533B2 (en) | Cross-layer cross-channel sample prediction | |
KR101777487B1 (ko) | 코딩 단위 비트 수 제한 | |
JP2015146599A (ja) | レイヤ間画素サンプル予測 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |