KR101650742B1 - 인터-레이어 인트라 모드 예측 - Google Patents

인터-레이어 인트라 모드 예측 Download PDF

Info

Publication number
KR101650742B1
KR101650742B1 KR1020157004739A KR20157004739A KR101650742B1 KR 101650742 B1 KR101650742 B1 KR 101650742B1 KR 1020157004739 A KR1020157004739 A KR 1020157004739A KR 20157004739 A KR20157004739 A KR 20157004739A KR 101650742 B1 KR101650742 B1 KR 101650742B1
Authority
KR
South Korea
Prior art keywords
intra mode
candidate
intra
prediction
candidates
Prior art date
Application number
KR1020157004739A
Other languages
English (en)
Other versions
KR20150038296A (ko
Inventor
웬하오 장
이-젠 치우
리동 수
유 한
지핀 뎅
시아오시아 카이
Original Assignee
인텔 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인텔 코포레이션 filed Critical 인텔 코포레이션
Publication of KR20150038296A publication Critical patent/KR20150038296A/ko
Application granted granted Critical
Publication of KR101650742B1 publication Critical patent/KR101650742B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/187Methods 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

하위 레벨 EL 프레임, 또는 베이스 레이어(BL) 프레임 중 적어도 하나로부터 얻어지는 하나 이상의 제 1 인트라 모드 후보에 적어도 부분적으로 근거하여 EL 프레임의 현재의 블록에 대한 인트라 모드를 결정하는 강화 레이어(EL) 비디오 인코더를 포함하는 시스템, 디바이스 및 방법이 서술된다.

Description

인터-레이어 인트라 모드 예측{INTER-LAYER INTRA MODE PREDICTION}
ISO/IEC 동화상 전문가 그룹(MPEG) 및 ITU-T 비디오 코딩 전문가 그룹(VCEG)에 의해 설립된 비디오 코딩 협력팀(JCT-VC)에 의해 현재 개발 중인 고효율 비디오 코딩(HEVC)은 2012년에 마무리될 것으로 예상되는 비디오 압축 표준 프로젝트이다. 종전의 비디오 코딩 표준과 마찬가지로, HEVC는 인트라/인터 예측, 변환, 양자화, 인루프 필터링, 및 엔트로피 코딩과 같은 기본 기능 모듈을 포함한다.
HEVC는 화상(picture)에 대한 최대 코딩 유닛(LCU : Largest Coding Unit)을 규정하는데, 이 LCU는 가변 사이즈를 갖는 직사각형 블록의 형태를 취하는 코딩 유닛(CU)으로 분할된다. 각각의 LCU 내에서, 쿼드 트리(quad-tree) 기반의 분할 방식은 CU 분할 패턴을 명시한다. HEVC는 또한 소정의 CU가 예측 및 변환의 각각의 목적으로 어떻게 분할되어야 하는지 명시하는 예측 유닛(PU) 및 변환 유닛(TU)을 규정한다. CU는 통상 연관된 신택스와 함께 1개의 루마(luma) 코딩 블록(CB) 및 2개의 크로마(chroma) CB를 포함하고, PU는 64×64 샘플로부터 4×4 샘플까지의 사이즈 범위를 갖는 예측 블록(PB)으로 더 나누어질 수 있다. 인트라 또는 인터 예측 후에, 계수를 생성하기 위해 잔차 블록에 변환 처리가 적용된다. 그 후 계수는 양자화되고, 1차원 체계로 스캔되고, 마지막으로 엔트로피 인코딩된다.
HEVC는 또한 루마 샘플의 인트라 예측을 행하기 위한 최고 확률 모드(MPM : Most Probable Mode) 코딩 방식을 도입한다. 일반적으로, HEVC는 33개까지의 방향성 인트라 예측 모드("Intra_Angular" 예측 모드 또는 "방향")를 포함하고, 코딩되는 소정의 PU에 대하여, 인트라 예측 모드는 이전에 디코딩된 이웃의 PU에 근거하여 인코딩될 수 있다. 예컨대, 사이즈 NxN의 PU(또는 PB)에 대하여, 합계 4N+1의 공간적으로 이웃하는 샘플이 예측의 목적으로 사용될 수 있다. Intra_Angular[k]가 특정한 방향성 인트라 코딩 모드를 명시할 수 있도록(예컨대, Intra_Angular[26]은 수직 인트라 예측에 대응함), Intra_Angular 방향성 모드는 2에서 34까지의 범위를 갖는 인덱스 k에 의해 라벨링될 수 있다. 나머지의 비방향성 인트라 코딩 모드는 Intra_Planar(k=0) 및 Intra_DC이고, Intra_Planar(k=1)는 4개의 코너 참고 샘플에 근거한 2개의 선형 예측의 평균값을 사용하고 Intra_DC는 예측을 위해 참조 샘플의 평균을 사용한다.
종래의 MPM 방식에서, 현재의 PU에 대한 3개의 후보 인트라 코딩 모드는 동일한 화상에서 현재의 PU에 인접하여 위치되는 이미 코딩된 PU에서 사용되는 인트라 모드로부터 얻어질 수 있다. 일반적으로, 인접하는 코딩된 PU가 사용 불가능하거나 또는 인트라 코딩되지 않은 경우, Intra_DC가 현재의 PU에 대한 후보 모드로서 선택된다.
인접한 이전에 코딩된 PU가 사용 가능하거나 또는 인트라 코딩된 경우, 종래의 MPM 방식에서의 후보 인트라 모드는 왼쪽으로 인접하는 PU의 인트라 모드("LeftMode") 및 위쪽으로 인접하는 PU의 인트라 모드("TopMode")에 의존하여 3개의 특정한 인트라 모드 후보로 이루어진 세트에 대응한다. 위쪽으로 인접하는 PU가 다른 LCU로부터의 것인 경우, TopMode는 Intra_DC로 설정될 수 있다. LeftMode가 TopMode와 동일한 경우, 3개의 인트라 모드 후보는, 다음과 같이 지정된다. LeftMode가 Intra_Planar 또는 Intra_DC인 경우, 3개의 후보 인트라 모드는 Intra_Planar, Intra_DC, 및 Intra_Angular[26](수직)이고, LeftMode가 Intra_Planar 또는 Intra_DC가 아닌 경우, 3개의 후보 인트라 모드는 LeftMode, LeftMode-1, 및 LeftMode+1이다. 한편, LeftMode와 TopMode가 상이할 경우, 3개의 인트라 모드 후보 중 2개는 LeftMode 및 TopMode이고, 세 번째 후보 모드는 다음과 같이 지정된다. LeftMode 또는 TopMode의 어느 쪽도 Intra_Planar가 아닌 경우에 세 번째 후보 모드는 Intra_Planar이고, LeftMode 또는 Topmode의 어느 쪽도 Intra_DC가 아닌 경우에 세 번째 후보 모드는 Intra_DC이고, LeftMode 또는 TopMode의 어느 쪽도 Intra_Planar 또는 Intra_DC가 아닌 경우에 세 번째 후보 모드는 Intra_Angular[26](수직)이다.
HEVC는 또한 스케일러블 비디오 코딩(SVC) 확장을 포함할 것으로 예상된다. HEVC SVC 비트스트림은 상이한 공간 분해능, 프레임 레이트, 품질, 비트 심도 등으로 소스 비디오 콘텐츠를 나타내는 여러 서브셋 비트스트림을 포함한다. 스케일가능성은 베이스 레이어(BL) 및 적어도 하나의 강화 레이어(EL)를 일반적으로 포함하는 멀티 레이어 코딩 구조를 사용하여 달성된다. 이것은 EL에 속하는 화상, 또는 PU와 같은 화상의 일부분이 하위 레이어 화상(예컨대 BL 화상)으로부터 예측되거나 또는 동일한 레이어의 이전에 코딩된 화상으로부터 예측되는 것을 허용한다. 하지만, 종래의 MPM 방식에서, 동일한 레이어(예컨대, EL)의 인접한 PU의 인트라 모드만이 현재의 PU에 대한 후보 인트라 예측 모드를 결정하는 데에 채용될 수 있다.
본 명세서에서 서술된 자료는 예로서 설명되고 첨부 도면에 있어서의 제한으로서 설명되지 않는다. 설명의 간단함 및 명료성을 위해, 도면에 도시된 요소는 반드시 실제 축척으로 그려지지는 않는다. 예컨대, 몇몇의 요소의 크기는 명료성을 위해 다른 요소에 비하여 과장될 수 있다. 또한, 적당하다고 생각되는 경우, 참조 부호는 대응하는 또는 유사한 요소를 나타내기 위해 도면 사이에서 반복되었다.
도 1은 예시의 비디오 인코더 시스템의 설명도이다.
도 2는 예시의 인코딩 시스템의 설명도이다.
도 3은 예시의 프로세스를 설명하는 흐름도이다.
도 4는 예시의 시스템의 설명도이다.
도 5는 예시의 코딩 방식의 설명도이다.
도 6은 예시의 코딩 방식의 설명도이다.
도 7은 예시의 코딩 방식의 설명도이다.
도 8은 다양한 인트라 모드의 설명도이다.
도 9는 예시의 비트스트림의 설명도이다.
도 10은 예시의 코딩 방식의 설명도이다.
도 11은 예시의 디코딩 시스템의 설명도이다.
도 12는 예시의 프로세스를 설명하는 흐름도이다.
도 13은 예시의 시스템의 설명도이다.
도 14는 모두가 본 개시의 적어도 몇몇의 구현에 따라 배치되는 예시의 디바이스를 설명한다.
하나 이상의 실시 형태 또는 구현은 첨부된 도면을 참조하여 이하에 설명된다. 구체적인 구성 및 배치가 논의되지만, 이것은 설명의 목적을 위해서만 행해졌음이 이해되어야 한다. 당업자는 설명의 정신 및 범위로부터 벗어나는 일 없이 다른 구성 및 배치가 채용될 수 있음을 인식할 것이다. 당업자에게는 본 명세서에서 서술되는 기술 및/또는 배치가 본 명세서에서 서술되는 것 이외의 여러 가지의 다른 시스템 및 응용에서도 채용될 수 있음이 분명할 것이다.
이하의 서술은, 예컨대 시스템 온 칩(SoC) 아키텍처와 같은 아키텍처에서 나타날 수 있는 다양한 구현을 제시하지만, 본 명세서에서 서술되는 기술 및/또는 배치의 구현은 특정한 아키텍처 및/또는 컴퓨팅 시스템으로 제한되지 않고 유사한 목적을 위해서 임의의 아키텍처 및/또는 컴퓨팅 시스템에 의해 구현될 수 있다. 예컨대, 다수의 집적 회로(IC) 칩 및/또는 패키지, 및/또는 다양한 컴퓨팅 디바이스 및/또는 셋톱박스, 스마트폰 등과 같은 가전제품(CE) 디바이스를 채용하는 다양한 아키텍처는 본 명세서에서 서술되는 기술 및/또는 배치를 구현할 수 있다. 또한, 이하의 설명은 로직 구현, 시스템 요소의 타입 및 상호관계, 로직 분할/통합 선택 등과 같은 많은 구체적인 상세를 제시할 수 있지만, 청구되는 주제는 그러한 구체적인 상세 없이 실행될 수 있다. 다른 예에서는, 예컨대 제어 구조 및 완전한 소프트웨어 명령 시퀀스와 같은 몇몇의 자료는 본 명세서에서 개시되는 자료를 모호하게 하지 않기 위해 상세하게 나타내어지지 않을 수 있다.
본 명세서에서 개시되는 자료는 하드웨어, 펌웨어, 소프트웨어, 또는 그 임의의 조합으로 구현될 수 있다. 본 명세서에서 개시되는 자료는 또한 하나 이상의 프로세서에 의해 판독 및 실행될 수 있는 머신 판독 가능 매체에 저장된 명령으로서 구현될 수 있다. 머신 판독 가능 매체는 머신(예컨대, 컴퓨팅 디바이스)에 의해 판독될 수 있는 형태로 정보를 저장 또는 송신하기 위한 임의의 매체 및/또는 메커니즘을 포함할 수 있다. 예컨대, 머신 판독 가능 매체는 리드 온리 메모리(ROM), 랜덤 액세스 메모리(RAM), 자기 디스크 저장 매체, 광학 저장 매체, 플래시 메모리 디바이스, 전파되는 신호(예컨대 반송파, 적외선 신호, 디지털 신호 등)의 전기적, 광학적, 음향적 또는 다른 형태 등을 포함할 수 있다.
명세서에서의 "하나의 구현", "구현", "예시의 구현" 등으로의 언급은 서술되는 구현이 특정한 기구, 구조, 또는 특성을 포함할 수 있음을 나타내지만, 모든 실시 형태는 반드시 특정한 기구, 구조, 또는 특성을 포함하지는 않을 수 있다. 또한, 그러한 문구는 반드시 동일한 구현을 가리키지는 않는다. 또한, 특정한 기구, 구조, 또는 특성이 실시 형태와 연관하여 설명될 때, 본 명세서에서 분명하게 서술되는지 여부와 관계없이 다른 구현과 연관하여 그러한 기구, 구조, 또는 특성을 발효시키기 위한 당업자의 지식 내에 있다고 생각된다.
시스템, 장치, 물품, 및 방법은 인터-레이어 인트라 모드 예측을 채용하는 비디오 코딩을 위한 동작을 포함하여 이하에 서술된다.
본 명세서에서 사용되는 바와 같이, 용어 "코더"는 인코더 및/또는 디코더를 가리킬 수 있다. 마찬가지로, 본 명세서에서 사용되는 바와 같이, 용어 "코딩"은 인코더를 통한 인코딩 및/또는 디코더를 통한 디코딩을 가리킬 수 있다. 예컨대 비디오 인코더 및 비디오 디코더의 양쪽은 코딩이 가능한 코더의 예일 수 있다. 또한, 본 명세서에서 사용되는 바와 같이, 용어 "코덱"은 인코더 및/또는 디코더를 구현할 수 있는, 예컨대 소프트웨어, 펌웨어, 및/또는 하드웨어의 임의의 조합과 같은 임의의 프로세스, 프로그램 또는 동작의 세트를 가리킬 수 있다.
스케일러블 비디오 코딩 시스템에서, 멀티레이어 코딩은 공간 스케일가능성, 시간 스케일가능성, 품질 스케일가능성, 비트 심도 스케일가능성 등을 포함하는 몇몇 종류의 스케일가능성을 지원하기 위해 사용된다. 본 개시에 따르면, 다양한 인터-레이어 인트라 모드 예측 방식은 스케일러블 비디오 코딩 시스템에서 코딩 효율성 및/또는 코딩 유연성을 높이기 위해 사용될 수 있다.
도 1은 본 개시에 따른 예시의 스케일러블 비디오 코딩(SVC) 코딩 시스템(100)을 설명한다. 다양한 구현에서, 시스템(100)은 비디오 압축 및 압축 해제를 수행하고/하거나 예컨대 고효율 비디오 코딩(HEVC) 표준(ISO/IEC JTC/SC29/WG11 및 ITU-T SG16 WP3, "고효율 비디오 코딩(HEVC) 텍스트 사양 드래프트 8"(JCTVC-J1003_d7), 2012년 7월 참조) 및 그 임의의 스케일러블 비디오 코딩(SVC) 확장과 같은 하나 이상의 표준 또는 사양에 따라서 비디오 코덱을 구현할 수 있다. 시스템(100) 및/또는 다른 시스템, 방식 또는 프로세스가 HEVC 표준의 SVC 확장의 맥락에서 본 명세서에서 서술될 수 있지만, 본 개시는 임의의 특정한 비디오 인코딩 표준 또는 사양 또는 그 확장으로 한정되지 않는다.
설명된 바와 같이, 시스템(100)은 Layer 0 또는 베이스 레이어(BL) 인코더(102), Layer 1 또는 제 1 강화 레이어(EL) 인코더(104), 및 Layer 2 또는 제 2 EL 인코더(106)를 포함하는 다수의 비디오 인코더를 갖는 인코더 서브시스템(101)을 포함한다. 시스템(100)은 또한 Layer 0(BL) 디코더(108), Layer 1(EL) 디코더(110), 및 Layer 2(EL) 디코더(112)를 포함하는 디코더 서브시스템(103)의 대응하는 비디오 디코더를 포함한다. 일반적으로, BL은 HEVC 호환 코딩될 수 있다. 레이어 식별자(ID)가 N인 EL을 코딩할 때, SVC 코딩 방식은 인터-레이어 예측 방식에서의 사용을 위한 N보다 작은 레이어 ID를 갖는 모든 코딩 레이어를 제공하여 특정한 EL에 속하는 화상은 (예컨대, BL 또는 하나 이상의 하위 레이어 EL에서의) 하위 레이어 화상으로부터 또는 동일한 EL에서 이전에 코딩된 화상으로부터 예측될 수 있다.
다양한 구현에서, HEVC는 화상에 대한 최대 코딩 유닛(LCU)을 명시하는데, 이 LCU는 가변 사이즈를 갖는 직사각형 블록의 형태를 취하는 코딩 유닛(CU)으로 분할된다. 각각의 LCU 내에서, 쿼드 트리 기반의 분할 방식은 CU 분할 패턴을 명시한다. HEVC는 또한 소정의 CU가 예측 및 변환의 각각의 목적으로 어떻게 분할되어야 하는지 명시하는 예측 유닛(PU) 및 변환 유닛(TU)을 규정한다. CU는 통상 연관된 신택스와 함께 1개의 루마 코딩 블록(CB) 및 2개의 크로마 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)를 적어도 부분적으로 사용하여 인터-레이어 인트라 모드 예측을 행할 수 있다.
본 명세서에서 사용되는 바와 같이 용어 "인터-레이어 인트라 모드 예측"은 하위 레이어 화상으로부터 얻어지는 적어도 하나의 후보 모드를 사용하여 예측 유닛(PU)과 같은 강화 레이어 화상의 부분에 대한 인트라 모드 예측을 행하는 것을 가리킨다. 또한, 본 명세서에서 사용되는 바와 같이, "인트라 모드 후보"는 참조 레이어 화상 블록(예컨대, PU)을 예측 또는 코딩하기 위해 사용되는 인트라 코딩 모드를 가리킨다. 참조 레이어의 하나 이상의 인트라 모드 후보와 같은 코딩 정보를 재사용하는 것에 의해, 인터-레이어 인트라 모드 예측은 시스템(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)을 설명하지만, 임의의 수의 스케일러블 비디오 코딩 레이어 및 대응하는 인코더 및 디코더는 본 개시에 따라서 활용될 수 있다. 또한, 본 개시는 도 1에 설명된 특정한 요소 및/또는 시스템(100)의 다양한 요소가 배치되는 방식으로 한정되지 않는다. 예컨대, 다양한 구현에서, 예컨대 인코더 서브시스템(101)의 인터-레이어 예측 모듈(116, 120 및 122)과 같은 시스템(100)의 몇몇의 요소는 3개의 인코더(102, 104 및 106) 모두에 연결되는 하나의 인터-레이어 예측 모듈 등에 의해 구현될 수 있다.
또한, 인코더 서브시스템(101)이 예컨대 비디오 콘텐츠 서버 시스템을 포함하는 콘텐츠 제공자 시스템과 연관될 수 있고 또한/또는 비디오 콘텐츠 서버 시스템을 포함하는 콘텐츠 제공자 시스템에 의해 제공될 수 있음과, 비트스트림(126)이 도 1에 나타내지 않은 송수신기, 안테나, 네트워크 시스템 등과 같은 다양한 통신 요소 및/또는 시스템에 의해 디코더 서브시스템(103)에 송신 또는 전달될 수 있음이 인식될 수 있다. 또한 디코더 서브시스템(103)이 도 1에 나타내지 않은 송수신기, 안테나, 네트워크 시스템 등과 같은 다양한 통신 요소 및/또는 시스템을 통해서 비트스트림(126)을 수신하는 컴퓨팅 디바이스(예컨대 데스크톱 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 스마트폰 등)와 같은 클라이언트 시스템과 연관될 수 있음이 인식될 것이다. 또한, 본 명세서에서 서술되는 시스템, 장치 및 방법은 EL 화상의 PU와 같은 블록에 대한 인터-레이어 인트라 모드 예측을 행하는 것을 가리킬 수 있지만, 본 개시는 이것으로 한정되지 않고 인터-레이어 인트라 모드 예측은 예컨대 PU의 PB 서브파티션을 포함하는 EL 화상의 임의의 파티션에 대하여 행해질 수 있다.
도 2는 본 개시에 따른 예시의 SVC 인코딩 시스템(200)을 설명한다. 시스템(200)은 예컨대 시스템(100)의 인코더(102) 및 인코더(104)에 각각 대응할 수 있는 참조 BL 인코더(202) 및 목표 EL 인코더(204)를 포함한다. 시스템(200)은 2개의 SVC 코딩 레이어에 대응하는 2개의 인코더(202 및 204)만을 포함하지만, 임의의 수의 SVC 코딩 레이어 및 대응하는 인코더는 도 2에 나타낸 것에 더하여 본 개시에 따라서 활용될 수 있다. 예컨대, 추가 강화 레이어에 대응하는 추가 인코더는 시스템(200)에 포함될 수 있고 EL 인코더(204)에 대하여 이하에 서술되는 것과 유사한 방식으로 BL 인코더(202)와 상호작용할 수 있다. 또한, 인코더(202)는 목표 EL 인코더(204)의 레이어보다 낮은 레이어에서의 다른 EL 인코더와 같은 임의의 참조 인코더일 수 있다.
SVC 코딩을 수행하는 데에 시스템(200)을 채용할 때, 화상 또는 EL 입력 프레임(206)과 같은 강화 레이어에서의 이미지 프레임은 BL 인코더(202)에 의해 처리되는 BL 입력 프레임(208)과 같은 화상으로부터 예측되거나 또는 EL 인코더(204)에 의해 이전에 인코딩된 동일한 강화 레이어에서의 다른 화상으로부터 EL 인코더(204)에 의해 예측될 수 있다. 이하에 보다 상세하게 설명되는 바와 같이, 시스템(200)을 사용하여 인터-레이어 인트라 모드 예측 동작을 수행할 때, EL 입력 프레임(206)과 같은 레이어(204)에서의 화상에서의 블록의 인트라 모드는 BL 인코더(202)에 의해 제공되는 하나 이상의 인트라 모드 후보(210)를 적어도 부분적으로 사용하여 예측될 수 있다. 상술한 바와 같이, EL 입력 프레임(206)은 화소값의 하나 이상의 블록에 대응하는 유닛으로 코딩될 수 있다. 또한, 코딩은 슬라이스, 화상, 또는 레이어 레벨에서 적용될 수 있다.
인터-레이어 인트라 모드 예측에 사용되는 인트라 모드 후보(210)는 변환 및 양자화 모듈(212), 역 변환 및 양자화 모듈(214), 및 인트라 예측 모듈(216)을 포함하는 코딩 루프를 사용하여 BL 입력 프레임(208)의 처리로부터 얻어질 수 있다. 특히, 인터-레이어 인트라 모드 예측을 행하도록 BL 인코더(202)를 동작시킬 때, 인트라 모드 후보(210)는 인트라 예측 모듈(216)로부터 얻어질 수 있다. BL 인코더(202)는 또한 인터 예측 모듈(218) 및 인루프 필터링 모듈(220)을 포함할 수 있다. 모듈(212, 214, 218 및 220)의 기능은 해당 분야에서 잘 알려져 있고 본 명세서에서 더 상세하게 서술되지는 않을 것이다.
EL 인코더(204)에서, BL 인코더(202)에 의해 제공되는 인트라 모드 후보(210)는 EL 인코더(204)의 인터-레이어 인트라 모드 예측 모듈(226)에서 수신될 수 있고, 변환 및 양자화 모듈(228) 및 역 변환 및 역 양자화 모듈(230)을 포함하는 코딩 루프를 사용하여 EL 입력 프레임(206)을 위한 인트라 코딩 모드를 예측하기 위해 적어도 부분적으로 사용될 수 있다. EL 입력 프레임(206)의 인터-레이어 인트라 모드 예측을 수행하도록 동작될 때, EL 인코더(204)는 인터 예측 모듈(234), 또는 인루프 필터링 모듈(236)의 어느 것도 채용하지 않을 수 있다. 모듈(228, 230, 234, 및 236)의 기능은 해당 분야에서 잘 알려져 있고 본 명세서에서 더 상세하게 서술되지는 않을 것이다.
다양한 구현에서, BL 인코더(202) 및 EL 인코더(204)의 한쪽 또는 양쪽은 BL 입력 프레임(208)의 적어도 일부 및 EL 입력 프레임(206)의 적어도 일부의 코딩된 잔차에 각각 대응하는 압축된 계수를 엔트로피 인코더 모듈(238)에 제공할 수 있다. 모듈(238)은 잔차의 무손실 압축을 행하고 인코딩된 잔차를 포함하는 다중화된 SVC 비트스트림을 시스템(200)으로부터의 출력으로서 제공할 수 있다.
도 3은 본 개시의 다양한 구현에 따른 예시의 프로세스(300)의 흐름도를 설명한다. 프로세스(300)는 도 3의 블록 301, 302, 304, 306, 308, 310, 312, 314 및 316의 하나 이상에 의해 설명되는 바와 같이 하나 이상의 동작, 기능 또는 작동을 포함할 수 있다. 한정하지 않는 예를 통해서, 프로세스(300)는 인코더 시스템(200)에 의해 수행되는 EL 레이어의 부분(예컨대 이 구현에서의 CU)을 위한 스케일러블 비디오 코딩 프로세스의 적어도 일부를 형성할 수 있다.
또한, 프로세스(300)는 시스템(400)이 프로세서(402), SVC 코덱 모듈(406), 및 메모리(408)를 포함하는 도 4의 스케일러블 비디오 코딩 시스템(400)을 사용하여 강화 레이어 CU를 코딩하는 것과 관련하여 본 명세서에서 서술될 것이다. 프로세서(402)는 본 개시에 따른 인터-레이어 인트라 모드 예측을 위해 제공하기 위한 SVC 코덱 모듈(406)을 예시할 수 있다. 시스템(400)의 예에서, 메모리(408)는 이하에 보다 상세하게 설명되는 바와 같이 인트라 모드 후보의 리스트 등과 같은 다른 항목뿐만 아니라, BL 입력 프레임(208)의 적어도 일부 및/또는 EL 입력 프레임(206)의 적어도 일부를 포함하는 비디오 콘텐츠를 저장할 수 있다. SVC 코덱 모듈(406)은 코딩 시스템(200)을 구현하기에 적합한 소프트웨어, 펌웨어, 및/또는 하드웨어의 임의의 조합에 의해 제공될 수 있다. 메모리(408)는 휘발성 메모리(예컨대, 스태틱 랜덤 액세스 메모리(SRAM), 다이내믹 랜덤 액세스 메모리(DRAM) 등) 또는 비휘발성 메모리(예컨대 플래시 메모리 등) 등과 같은 임의의 타입의 메모리일 수 있다. 한정하지 않는 예에서, 메모리(408)는 캐시 메모리에 의해 구현될 수 있다.
프로세스(300)는 인터-레이어 인트라 모드 예측이 현재의 EL PU에 대하여 행해져야 하는지 여부에 관하여 결정이 이루어질 수 있는 블록 301에서 시작될 수 있다. 다양한 구현에서, 인터-레이어 인트라 모드 예측을 행해야 하는지 여부의 결정은 레이트 디스토션 코스트(rate-distortion cost)에 근거할 수 있다. 예컨대, SVC 코덱(406)은 알려진 레이트 디스토션 코스트 기술에 근거하여 PU에 대한 인터-레이어 인트라 모드 예측을 행할지 여부를 결정할 수 있다. 인터-레이어 인트라 모드 예측이 행해지는 경우에 프로세스(300)는 블록 302에서 계속될 수 있지만, 인터-레이어 인트라 모드 예측이 행해지지 않는 경우에 프로세스(300)는 종료될 수 있다.
프로세스(300)는 현재의 PU에 대하여 해당 PU에 대응하는 BL의 하나 이상의 동일 위치 블록(co-located block)이 결정될 수 있는 블록 302에서 계속될 수 있다. 예컨대, 도 5는 PU(502)가 BL 입력 프레임(208)의 동일 위치 블록(504)에 공간적으로 대응하는 EL 입력 프레임(206)의 현재의 PU(502)를 도시한다. 이 예에서, PU(502)는 BL 입력 프레임(208)의 4개의 동일 위치 블록(504)에 대응한다. 하지만, 다양한 구현에서, EL과 BL 또는 하위 레벨 EL 사이의 공간적인 스케일링에 따라서는, 임의의 수의 BL 또는 하위 레벨 EL 블록이 특정한 EL PU에 대하여 동일 위치일 수 있다. 다른 구현에서는, BL 또는 하위 레벨 EL 블록의 부분만이 EL PU와 동일 위치일 수 있다.
또한, 공간적인 스케일링이 적용되지 않아서 EL 및 하위 EL 또는 BL이 1의 공간적 비율을 갖는 몇몇의 스케일러블 구현에서는(예컨대, 레이어 사이에 공간적인 스케일링이 없이 품질 스케일링이 적용될 때) EL의 블록과 하위 EL 또는 BL의 블록 사이에 일대일 대응이 존재할 수 있다. 도 5의 예에 대하여, 블록 302에서 동일 위치 블록을 결정하는 것은 블록(504)을 현재의 PU(502)에 대하여 동일 위치이라고 마킹(marking) 또는 라벨링(labeling)하는 것을 수반할 수 있다.
프로세스(300)는 동일 위치 블록(들)에 대응하는 인트라 모드(들)가 액세스될 수 있는 블록 304에서 계속될 수 있다. 예컨대, 도 4 및 5를 참조하면, 블록 304는 SVC 코덱(406)이 동일 위치 블록(504)에 대응하는 인트라 모드를 메모리(408)로부터 얻기 위해 프로세서(402)를 사용하는 것을 수반할 수 있다. 예컨대, 메모리(408)는 블록 504의 인트라 모드를 포함하는 BL 입력 프레임(208)의 일부분과 같은 비디오 콘텐츠를 일시적으로 저장하기 위한 프레임 버퍼로서 작동할 수 있다.
도 6은 본 개시에 따른 예시의 인터-레이어 인트라 모드 예측 방식(600)을 설명한다. 방식(600)은 EL 화상의 현재의 PU(602)(An으로 라벨링됨) 또는 레이어 ID n을 갖는 프레임(604)을 포함한다. 도시된 바와 같이, 방식(600)은 프레임(604)에서 현재의 PU(602)에 공간적으로 인접한 3개의 이미 인코딩된 PU(606, 608, 및 610)(각각 B, D, 및 C로 라벨링됨)를 포함한다. 또한, 방식(600)은 레이어 ID i를 갖는 하위 EL 화상 또는 프레임(614)에서의 동일 위치 블록(612)(Ai로 라벨링됨) 및 레이어 ID 0을 갖는 BL 화상 또는 프레임(618)에서의 동일 위치 블록(616)(A0으로 라벨링됨)을 나타낸다.
도 3의 설명으로 돌아가면, 도 4 및 6의 예의 맥락에서, 블록 304는 SVC 코덱(406)이 메모리(408)의 인트라 모드(들)에 액세스하는 것을 수반할 수 있는데, 이러한 인트라 모드(들)는 블록(612) 및/또는 블록(616)을 코딩하기 위해 사용되는 인트라 모드(들)에 대응한다. 예컨대, 몇몇의 구현에서, 블록 304는 블록(612) 또는 블록(616)에 대응하는 인트라 모드에 액세스하는 것을 수반할 수 있다. 다른 구현에서, 블록 304는 블록(612 및 616)의 양쪽에 대응하는 인트라 모드에 액세스하는 것을 수반할 수 있다. 다양한 구현에서, 블록(612 및/또는 616)에 대응하는 인트라 모드는 Intra_Planar, Intra_DC, 및 33개의 Intra_Angular 모드를 포함하지만 이것으로 한정되는 않는 35개의 인트라 모드 중 하나일 수 있다.
프로세스(300)는 EL로부터의 인트라 모드를 포함시킬 것인지의 여부에 대하여 결정이 이루어질 수 있는 블록 306에서 계속될 수 있다. 다양한 구현에서, 블록 306은 SVC 코덱(406)이 공간적으로 인접한 블록들(606, 608, 및/또는 610) 중 하나 이상의 블록의 인트라 모드(들)에 액세스할지 여부를 결정하는 것을 수반할 수 있다. 블록 306의 결과가 부정적인 경우, 프로세스(300)는 블록 310으로 진행될 수 있고 인트라 모드는 EL(604)의 현재의 PU(602)에 공간적으로 인접한 블록(들)에 대하여 액세스되지 않을 수 있다.
블록 306의 결과가 긍정적인 경우, 프로세스(300)는 블록 308로 진행될 수 있고 하나 이상의 인트라 모드(들)는 EL(604)의 현재의 PU(602)에 공간적으로 인접한 블록(들)에 대하여 액세스될 수 있다. 예컨대, 몇몇의 구현에서, 블록 308은 블록(606, 608) 및/또는 블록(610) 중 하나 이상의 블록에 대응하는 인트라 모드(들)에 액세스하는 것을 수반할 수 있다. 다른 구현에서, 블록 304는 블록(606, 608) 및/또는 블록(610)의 임의의 조합에 대응하는 인트라 모드에 액세스하는 것을 수반할 수 있다. 다양한 구현에서, 블록(606, 608) 및 블록(610)에 대응하는 인트라 모드는 Intra_Planar, Intra_DC, 및 33개의 Intra_Angular 모드를 포함하지만 이것으로 한정되지 않는 35개의 인트라 모드 중 하나일 수 있다.
프로세스(300)는 인트라 모드 후보의 세트 또는 리스트가 생성될 수 있는 블록 310에서 계속될 수 있다. 다양한 구현에서, 블록 310은 SVC 코덱(406)이 블록 304에서 액세스되는 하나 이상의 인트라 모드에 적어도 부분적으로 근거하여 PU(602)에 대한 후보 인트라 모드의 리스트를 결정하는 것을 수반할 수 있다. 또한, 다양한 구현에서, 블록 310은 SVC 코덱(406)이 블록 308에서 액세스되는 하나 이상의 인트라 모드에 근거하여 PU(602)에 대한 후보 인트라 모드의 리스트를 결정하는 것도 수반할 수 있다. 다양한 구현에서, 블록 310에서 생성되는 후보 인트라 모드의 리스트는 각각의 인트라 모드 후보와 연관되는 우선도(priority)를 나타낼 수 있다. 예컨대, 현재의 PU를 포함하는 레이어에 보다 가까운 레이어와 연관되는 인트라 모드는 현재의 PU를 포함하는 레이어로부터 더 멀리에 있는 레이어와 연관되는 인트라 모드보다 높은 우선도가 할당될 수 있다. 예컨대, 방식(600)을 참조하면, 블록(612)과 연관되는 인트라 모드는 블록(616)과 연관되는 인트라 모드보다 높은 우선도가 할당될 수 있다.
다양한 구현에서, 후보 인트라 모드의 리스트는 SVC 코덱(406)이 최고 확률 모드(MPM) 코딩 알고리즘을 적어도 부분적으로 사용하는 것에 의해 블록 310에서 생성될 수 있다. 예컨대, 도 7은 본 개시에 따른 다른 예시의 인터-레이어 인트라 모드 예측 방식(700)을 설명한다. 방식(700)에서, 첫 번째 EL(706)의 2개의 공간적으로 인접한 블록(702 및 704) 및 베이스 레이어(710)의 1개의 동일 위치 블록(708)이라는 3개의 블록에 대응하는 인트라 모드는 프로세스(300)의 블록 308 및 304에서 각각 액세스되었다.
다양한 구현에서, 예시의 방식(700)의 맥락에서, 블록 310은 "LeftMode"가 왼쪽 이웃 블록(702)의 인트라 모드를 가리키고, "TopMode"가 위쪽 이웃 블록(704)의 인트라 모드를 가리키고, "BaseLayerMode"가 베이스 레이어 블록(708)의 인트라 모드를 가리키는 레이어(706)의 현재의 PU(712)에 대한 인트라 모드 후보의 리스트를 생성하기 위한 다음의 예시의 MPM 알고리즘을 채용하는 것을 포함할 수 있다.
현재의 PU의 베이스 레이어, 왼쪽 및 위쪽 이웃 블록으로부터 얻어지는 3개의 후보는,
현재의 PU의 이웃 블록이 사용 불가능하거나 또는 인트라 코딩되지 않는 경우, 후보 모드를 Intra_DC로 설정하고,
위쪽 이웃이 다른 LCU로부터의 것인 경우, 후보 모드를 Intra_DC로 설정하고(또한 모드를 저장하기 위한 라인 버퍼를 제거함),
베이스 레이어 블록이 인트라 코딩되지 않는 경우, 후보 모드를 Intra_DC로 설정한다.
후보 도출:
Figure 112015018501689-pct00001
따라서, 이 예에서, 이웃 블록(702 및 704)에서 채용되는 인트라 모드에 따라서는, 블록 310에서 생성되는 후보 리스트는 다른 레이어로부터 얻어지는 인터-레이어 후보 모드(예컨대, 베이스 레이어 블록(708)에 대응하는 "BaseLayerMode")를 포함할 수 있다.
상술한 바와 같이, 일반적으로, HEVC는 33개까지의 방향성 인트라 예측 모드("Intra_Angular" 예측 모드 또는 "방향")를 포함하고, 코딩되는 주어진 PU에 대하여, 인트라 예측 모드는 이전에 디코딩된 이웃 PU에 근거하여 인코딩될 수 있다. 예컨대, 사이즈 NxN의 PU(또는 PB)에 대하여, 합계 4N+1의 공간적으로 이웃하는 샘플이 예측 목적으로 사용될 수 있다. Intra_Angular[k]가 특정한 방향성 인트라 코딩 모드를 명시할 수 있도록(예컨대, Intra_Angular[26]은 수직 인트라 예측에 대응함), Intra_Angular 방향성 모드는 2에서 34까지의 범위를 갖는 인덱스 k에 의해 라벨링될 수 있다. 나머지의 비방향성 인트라 코딩 모드는 Intra_Planar(k=0) 및 Intra_DC이고, Intra_Planar(k=1)는 4개의 코너 참조 샘플에 근거한 2개의 선형 예측의 평균값을 사용하고 Intra_DC는 예측을 위해 참조 샘플의 평균을 사용한다. 예컨대, 도 8은 33개의 모든 HEVC Intra_Angular 모드에 대응하는 방향을 설명한다.
블록 310에서 인트라 모드 후보의 리스트를 생성하였으면, 프로세스(300)는 행해진 예측 인트라 모드가 인트라 모드 후보에 응답하여 현재의 PU에 대하여 결정될 수 있는 블록 314에서 계속될 수 있다. 예컨대, 다양한 구현에서, SVC 코덱(406)은 어떤 인트라 모드가 현재의 PU에 대한 가장 낮은 레이트 디스토션 코스트를 가져오는지 결정하기 위해 35개의 HEVC 인트라 모드의 각각을 현재의 PU에 각각 적용하는 것의 결과를 비교하는 데에 알려진 기술을 사용할 수 있다. 몇몇의 구현에서, SVC 코덱(406)은 어떤 인트라 모드가 현재의 PU에 대한 가장 낮은 레이트 디스토션 코스트를 가져오는지 결정하기 위해 35개의 HEVC 인트라 모드의 서브셋의 각각을 현재의 PU에 각각 적용하는 것의 결과를 비교하는 데에 알려진 기술을 사용할 수 있다. 다양한 구현에서, 블록 314는 레이트 디스토션 코스트를 결정하는 데에 필요한 산술 연산을 행하기 위해 고정 기능 회로와 같은 하드웨어 로직을 사용하여 수행될 수 있다. 또한, 하드웨어 로직은 인트라 모드 후보를 현재의 PU에 적용하는 다양한 조합에 대한 레이트 디스토션 코스트의 병렬 결정을 허용할 수 있다.
본 개시에 따르면, 블록 314는 블록 310에서 생성되는 후보 인트라 모드 리스트의 인트라 모드들 중 하나에 대응하는 예측 인트라 모드를 발생시킬 수 있다. 예측 인트라 모드가 후보 인트라 모드에 대응하는 경우에 SVC 코덱(406)은 현재의 PU에 대한 인트라 모드를 명시하기 위해 비트스트림(239)에 표시자를 위치시키기 위해 EL 인코더(204)를 사용할 수 있다. 다양한 구현에서, 표시자는 인덱스일 수 있다. 예컨대, 3개의 후보 인트라 모드가 존재하는 방식(700)의 예에서, 2비트 인덱스 값은 현재의 PU에 대한 MPM을 나타내기 위해 사용될 수 있다. 일반적으로, 2비트 인덱스 필드는 2개, 3개 또는 4개의 후보 인트라 모드 중 1개를 나타내기에 충분할 수 있고 35개의 HEVC 인트라 모드의 각각을 나타내기 위해 요구될 것인 5비트 인덱스 값보다 효율적으로 예측 인트라 모드를 통신하기 위해 사용될 수 있다. 4개보다 많지만 9개보다 적은 후보 인트라 모드에 대하여, 3비트 인덱스 필드는 충분할 수 있다. 하지만, 본 개시는 임의의 특정한 수의 후보 인트라 모드로 한정되지 않는다.
본 개시에 따르면, 블록 314는 블록 310에서 생성되는 후보 인트라 모드 리스트의 인트라 모드들 중 하나에 대응하지 않는 예측 인트라 모드를 발생시킬 수 있다. 다양한 구현에서, 블록 314가 후보 인트라 모드들 중 특정한 하나의 후보 인트라 모드와 유사한 예측 인트라 모드를 발생시키는 경우에, 예측 인트라 모드는 그 특정한 후보 인트라 모드에 대응하는 인덱스를, 예측 인트라 모드와 그 특정한 후보 인트라 모드 사이의 차이에 대응하는 값과 함께 제공하는 것에 의해 나타내어질 수 있다. 예컨대, 도 8을 참조하면, 현재의 PU에 대한 예측 인트라 모드(802)가 Intra_Angular[27]이고 후보 인트라 모드들 중 하나에 직접적으로 대응하지 않지만 후보 인트라 모드(804)들 중 하나가 Intra_Angular[26]인 경우, SVC 코덱(406)은 후보 인트라 모드(804)에 대응하는 표시자를, 모드(802 및 804) 사이의 차이를 나타내는 1(예컨대, (모드 27-모드 26=1))의 값과 함께 비트스트림(239)에 위치시키기 위한 EL 인코더(204)를 사용할 수 있다. MPM 인덱스 및 차이 값의 양쪽을 제공하는 것은 35개의 HEVC 인트라 모드의 각각을 나타내기 위해 요구될 것인 5비트 인덱스 값보다 효율적으로 예측 인트라 모드를 통신하기 위해 사용될 수 있다.
본 개시에 따르면, 블록 314는 블록 310에서 생성되는 후보 인트라 모드에서의 인트라 모드들 중 하나에 대응하지 않고 이와 유사하지도 않은 예측 인트라 모드를 발생시킬 수 있다. 다양한 구현에서, 블록 314가 후보 인트라 모드들의 임의의 것과 동일하지 않거나 또는 유사하지 않은 예측 인트라 모드를 발생시키는 경우에, 예측 인트라 모드는 35개의 인트라 모드 중 하나를 명시하기에 충분한 인덱스를 제공하는 것에 의해 나타내어질 수 있다. 예컨대, 5비트 인덱스 필드는 현재의 PU에 대한 35개의 인트라 모드 중 어느 하나를 명시하기 위해 사용될 수 있다.
프로세스(300)는 비트스트림이 형성될 수 있는 블록 316에서 끝날 수 있는데, 여기서 비트스트림은 현재의 PU에 대한 예측 인트라 모드의 표시를 포함한다. 예컨대, 도 9는 블록 316에서 형성될 수 있는 예시의 비트스트림(900)을 설명한다. 예컨대, 비트스트림(900)은 블록 316을 수행하여 SVC 코덱(406)에 의해 형성될 수 있는 비트스트림(239)에 대응할 수 있다. 도 6에 나타낸 바와 같이, 비트스트림(900)은 헤더 부분(902) 및 데이터 부분(904)을 포함한다. 헤더 부분(902)은 하나 이상의 표시자(906)를 포함한다. 예컨대, 표시자(906)는, 본 명세서에서 서술되는 바와 같이, 그 값이 현재의 PU에 대한 인터-레이어 인트라 모드 예측을 행할지 여부를 명시하는 표시자(908)를 포함할 수 있다.
다양한 구현에서, 블록 314에서 예측되는 인트라 모드가 후보 인트라 모드 중 하나에 대응할 때, 표시자(906)는 그 값이 후보 인트라 모드를 명시하는 인트라 모드 필드 또는 표시자(910)를 포함할 수 있다. 예컨대, 몇몇의 구현에서, 표시자(910)는 4개의 후보 인트라 모드 중 어느 하나를 나타내기 위해 사용될 수 있는 2비트 필드일 수 있다. 또한, 다양한 구현에서, 블록 314에서 예측되는 인트라 모드가 후보 인트라 모드들 중 하나와 유사할 때, 표시자(906)는 인트라 모드 필드 또는 표시자(910)에 더하여 그 값이 예측 인트라 모드와 후보 인트라 모드들 중 하나 사이의 차이를 명시하는 차이 필드 또는 표시자(912)를 포함할 수 있다.
프로세스(300)는 도 5 및 6의 맥락으로 본 명세서에서 서술되었지만, 본 개시는 EL PU의 인트라 모드가 동일 위치 하위 EL 및/또는 BL 블록으로부터 얻어지는 후보로부더 예측되는 인터-레이어 인트라 모드 예측의 실행으로 한정되지 않는다. 따라서, 다양한 구현에서, 동일 위치 블록에 공간적으로 인접한 블록의 인트라 모드는 인트라 모드 후보로서 채용될 수 있다. 또한, EL에서의 현재의 블록이 동일 위치 하위 EL 및/또는 BL에서의 2개 이상의 블록에 대응하는 구현에서, 여러 동일 위치 블록의 인트라 모드 후보는 블록 304에서 액세스될 수 있다.
예컨대, 도 10은 EL 레이어에서의 현재의 PU(1002)가 4개의 동일 위치 블록(1004)에 대응하는 방식(1000)을 설명한다. 다양한 구현에서, 블록 304는 인트라 코딩되고/되거나 사용 가능한 블록(1004)에 대해서만 인트라 모드에 액세스하는 것을 수반할 수 있다. 예컨대, 몇몇의 구현에서, 블록(1004)의 블록(0 및 1)은 인트라 코딩될 수 있는 한편 블록(2 및 3)은 인터 코딩될 수 있다. 그러한 상황에서, 블록 304는 블록(2 및 3)이 아닌 블록(0 및/또는 1)에 대한 인트라 모드에 액세스하는 것을 수반할 수 있다. 또한, 다른 예에서, 블록(1004)의 블록(0 및 1)은 이미 인트라 코딩되었을 수 있지만 (인트라 또는 인터) 코딩은 블록(2 및 3)에 아직 적용되지 않았을 수 있다. 그러한 상황에서, 블록 304는 또한 블록(2 및 3)이 아닌 블록(0 및/또는 1)에 대한 인트라 모드에 액세스하는 것을 수반할 수 있다. 또한, 다양한 구현에서, 하나 이상의 동일 위치 블록은 보다 높은 우선도를 가질 수 있다. 예컨대, 블록(0)(동일 위치 블록들(1004) 중 왼쪽 위의 블록)의 인트라 모드에 액세스하는 것은 블록들(1004)의 나머지의 인트라 모드에 액세스하는 것보다 우선될 수 있다.
도 11은 본 개시에 따른 예시의 SVC 디코딩 시스템(1100)을 설명한다. 시스템(1100)은 예컨대 시스템(100)의 디코더(108) 및 디코더(110)에 각각 대응할 수 있는 참조 BL 디코더(1102) 및 목표 EL 인코더(1104)를 포함한다. 시스템(1100)은 2개의 SVC 코딩 레이어에 대응하는 2개의 디코더(1102 및 1104)만을 포함하지만, 임의의 수의 SVC 코딩 레이어 및 대응하는 디코더는 도 11에 나타낸 것에 더하여 본 개시에 따라서 활용될 수 있다. 예컨대, 추가 강화 레이어에 대응하는 추가 디코더는 시스템(1100)에 포함될 수 있고 EL 디코더(1104)에 대하여 이하에 서술되는 것과 유사한 방식으로 BL 디코더(1102)와 상호작용할 수 있다.
SVC 코딩을 수행하는 데에 시스템(1100)을 채용하면, 화상 또는 EL 출력 프레임(1106)과 같은 강화 레이어에서의 이미지 프레임은 BL 디코더(1102)에 의해 처리되는 BL 출력 프레임(1108)과 같은 화상으로부터 예측되거나 또는 EL 디코더(1104)에 의해 이전에 인코딩된 동일한 강화 레이어에서의 다른 화상으로부터 EL 디코더(1104)에 의해 예측될 수 있다. 이하에 보다 상세하게 서술되는 바와 같이, 시스템(1100)을 사용하여 인터-레이어 인트라 모드 예측 동작을 수행할 때, EL 출력 프레임(1106)과 같은 레이어(1104)에서의 화상의 블록에 대한 인트라 모드는 BL 디코더(1102)에 의해 제공되는 인트라 모드 후보(1110)를 사용하여 예측될 수 있다. 후보(1110)는 BL 디코더(1102)의 인트라 예측 모듈(1112)로부터 얻어질 수 있다. BL 디코더(1102)는 또한 역 변환 및 양자화 모듈(1114), 인터 예측 모듈(1116), 및 인루프 필터링 모듈(1118)을 포함한다.
이하에 보다 상세하게 서술되는 바와 같이, 인트라 모드 후보(1110)는 EL 디코더(1104)의 인트라 예측 모듈(1120)에 공급될 수 있다. EL 디코더(1104)는 또한 역 변환 및 양자화 모듈(1122), 인터 예측 모듈(1124), 및 인루프 필터링 모듈(1126)을 포함한다. 인터-레이어 인트라 모드 예측을 수행하도록 동작될 때, EL 디코더(1104)는 EL 출력 프레임(1106)의 다양한 블록에 대한 인트라 모드를 예측하는 경우에 후보 인트라 모드(1110)를 사용할 수 있다.
본 명세서에서 서술되는 시스템의 다양한 요소는 소프트웨어, 펌웨어, 및/또는 하드웨어 및/또는 그 임의의 조합으로 구현될 수 있다. 예컨대, 시스템(700)의 다양한 요소는 예컨대 스마트폰과 같은 컴퓨팅 시스템에서 발견될 수 있는 것과 같은 컴퓨팅 시스템 온 칩(SoC)의 하드웨어에 의해 적어도 부분적으로 제공될 수 있다. 당업자는 본 명세서에서 서술되는 시스템은 대응하는 도면에 나타내지 않은 추가 요소를 포함할 수 있음을 인식할 수 있다. 예컨대, 시스템(200 및 1100)은 명료성을 위하여 도 2 및 11에 나타내지 않은 비트스트림 멀티플렉서 모듈 등과 같은 추가 요소를 포함할 수 있다.
도 12는 본 개시의 다양한 구현에 따른 예시의 프로세스(1200)의 흐름도를 설명한다. 프로세스(1200)는 도 12의 블록 1202, 1204, 1206, 1208, 1210, 1212, 1214, 1216, 1218 및 1220의 하나 이상에 의해 설명되는 하나 이상의 동작, 기능 또는 작동을 포함할 수 있다. 한정하지 않는 예를 통해서, 프로세스(1200)는 디코더 시스템(1100)에 의해 수행되는 EL 레이어의 부분(예컨대 이 구현에서의 PU)에 대한 스케일러블 비디오 코딩 프로세스의 적어도 일부를 형성할 수 있다. 또한, 프로세스(1200)는 SVC 코덱 모듈(406)이 디코더 시스템(1100)을 예시할 수 있는 도 4의 스케일러블 비디오 코딩 시스템(400)을 사용하여 강화 레이어 PU를 코딩하는 것 및 도 9의 예시의 비트스트림(900)을 참조하여 본 명세서에서 서술될 것이다.
프로세스(1200)는 디코딩되는 현재의 EL PU에 대한 스킵 모드를 수행하는지 여부에 대하여 결정이 이루어질 수 있는 블록 1202에서 시작될 수 있고, 현재의 PU는 하나 이상의 이전에 디코딩된 PU에 근거하여 디코딩될 것이다. 다양한 구현에서, SVC 코덱(406)은 비트스트림(900)의 헤더 부분(902)에 수신되는 표시자의 값에 응답하여 블록 1202를 수행할 수 있다. 예컨대, 표시자가 제 1 값(예컨대 1)을 갖는 경우에 SVC 코덱(406)은 현재의 PU에 대한 스킵 모드를 수행하는 것을 결정할 수 있다. 한편, 표시자가 제 2 값(예컨대 0)을 갖는 경우에 SVC 코덱(406)은 현재의 PU에 대한 스킵 모드를 수행하지 않는 것을 결정할 수 있다.
블록 1202의 결과가 부정적 결정인 경우에 프로세스(1200)는 PU에 대한 인트라 또는 인터 코딩을 행할지 여부에 대하여 결정이 이루어질 수 있는 블록 1204로 진행될 수 있다. 인트라 예측이 선택되는 경우에 프로세스(1200)는 인트라 예측이 알려진 인트라 예측 기술을 사용하여 행해질 수 있는 블록 1208로 진행될 수 있다. 인터 예측이 선택되는 경우에 프로세스(1200)는 인터 예측이 알려진 인터 예측 기술을 사용하여 행해질 수 있는 블록 1206으로 진행될 수 있다. 다양한 구현에서, SVC 코덱(406)은 예컨대 블록 1208을 수행하기 위한 디코더(1104)의 인트라 예측 모듈(1130) 및 블록 1206을 수행하기 위한 디코더(1104)의 인터 예측 모듈(1124)을 사용하여 블록 1204, 1206, 및 1208을 수행할 수 있다. 프로세스(1200)는 잔차 디코딩이 알려진 디코딩 기술 및 블록 1206 또는 1208의 결과를 사용하여 수행될 수 있는 블록 1210에서 계속될 수 있다.
블록 1202의 설명으로 돌아가면, 블록 1202의 결과가 긍정적 결정이고 PU에 대하여 스킵 모드가 기동되는 경우, 프로세스(1200)는 현재의 PU에 대한 인터-레이어 인트라 모드 예측을 행하는지 여부에 관하여 결정이 이루어질 수 있는 블록 1212로 진행될 수 있다. 다양한 구현에서, SVC 코덱(406)은 비트스트림(900)의 헤더 부분(902)에 수신되는 표시자(908)의 값에 응답하여 블록 1212를 수행할 수 있다. 예컨대, 표시자(908)가 제 1 값(예컨대 1)을 갖는 경우에 SVC 코덱(406)은 현재의 PU에 대한 인터-레이어 인트라 모드 예측을 수행하는 것을 결정할 수 있다. 한편, 표시자(908)가 제 2 값(예컨대 0)을 갖는 경우에 SVC 코덱(406)은 현재의 PU에 대한 인터-레이어 인트라 모드 예측을 수행하지 않는 것을 결정할 수 있다.
블록 1212의 결과가 긍정적 결정인 경우에 프로세스(1200)는 인터-레이어 인트라 모드 예측이 프로세스(300)에 대하여 상술한 것과 유사한 방식으로 현재의 PU에 대하여 행해질 수 있는 블록 1214로 진행될 수 있다. 예컨대, 블록 1214는 프로세스(300)에서 서술되는 바와 같은 후보 모드의 리스트를 생성하는 것(블록 1216)을 수반할 수 있는데, 여기서 후보 인트라 모드가 하위 EL과 같은 하위 레이어 혹은 BL로부터의 적어도 하나의 후보 인트라 모드를 포함한다. 블록 1214는 인트라 모드 후보에 응답하여 PU에 대한 예측 인트라 모드를 결정하는 것을 포함할 수 있다.
다양한 구현에서, SVC 코덱(406)은 제 1 값(예컨대, 1)을 갖는 표시자(908)에 응답하여 블록 1214를 수행할 수 있다. 인코딩(프로세스(300)) 동안에 예측 인트라 모드가 후보 모드에 매칭된 다양한 구현에서, SVC 코덱(406)은 표시자(910)의 값에 액세스하는 것 및 그 인덱스 값을, 프로세스(300)에 대하여 상술한 MPM 알고리즘을 사용하여 블록 1216에서 개발되는 후보 인트라 모드와 비교하는 것에 의해 블록 1214를 구현할 수 있다. 인코딩(프로세스(300)) 동안에 예측 인트라 모드가 후보 모드와 유사한 것으로 결정된 몇몇의 구현에서, SVC 코덱(406)은 표시자(910)의 값에 액세스하는 것 및 그 인덱스 값을, 상술한 MPM 알고리즘을 사용하여 블록 1216에서 개발되는 후보 인트라 모드와 비교하는 것, 및 차이 값을 결정하기 위해 표시자(912)에 액세스하는 것에 의해 블록 1214를 구현할 수 있다. 프로세스(800)는 현재의 PU에 대한 인트라 모드가 블록 1214의 결과에 적어도 부분적으로 근거하여 결정될 수 있는 블록 1220에서 끝날 수 있다.
프로세스(1200)는 EL PU에 대한 디코딩 프로세스로서 본 명세서에서 서술되지만, 본 개시는 PU 레벨에서의 인터-레이어 인트라 모드 예측의 실행으로 한정되지 않는다. 따라서, 다양한 구현에서, 프로세스(1200)는 또한 CU에 또는 TU에 적용될 수 있다. 또한, 앞서 말한 바와 같이, 프로세스(1200)를 포함하는 본 명세서에서 서술되는 모든 인터-레이어 인트라 모드 예측 프로세스는 시간, 공간, 및/또는 품질 스케일러블 비디오 코딩의 임의의 조합의 맥락에서 적용될 수 있다.
도 3 및 12에 설명된 바와 같은 예시의 프로세스(300 및 1200)의 구현은 설명된 순서대로 나타낸 모든 블록을 수행하는 것을 포함할 수 있지만, 본 개시는 이것으로 한정되지 않고, 다양한 예에서, 프로세스(300 및 1200)의 구현은 나타낸 블록의 서브셋만을 수행하는 것 및/또는 설명된 순서와 상이한 순서로 블록을 수행하는 것을 포함할 수 있다.
또한, 도 3 및 12의 블록의 임의의 하나 이상은 하나 이상의 컴퓨터 프로그램 제품에 의해 제공되는 명령에 응답하여 수행될 수 있다. 그러한 프로그램 제품은 예컨대 프로세서에 의해 실행될 때에 본 명세서에서 서술되는 기능을 제공할 수 있는 명령을 제공하는 신호 베어링 매체를 포함할 수 있다. 컴퓨터 프로그램 제품은 하나 이상의 머신 판독 가능 매체의 임의의 형태로 제공될 수 있다. 따라서, 예컨대, 하나 이상의 프로세서 코어(들)를 포함하는 프로세서는 하나 이상의 머신 판독 가능 매체에 의해 프로세서에 전달되는 프로그램 코드 및/또는 명령 또는 명령 세트에 응답하여 도 3 및 12에 나타낸 블록의 하나 이상을 수행할 수 있다. 일반적으로, 머신 판독 가능 매체는 본 명세서에서 서술되는 디바이스 및/또는 시스템의 어느 하나가 비디오 시스템(100, 200, 및 1100)의 적어도 일부분 및/또는 SVC 코덱 모듈(406)을 구현하게 할 수 있는 프로그램 코드 및/또는 명령 또는 명령 세트의 형태로 소프트웨어를 전달할 수 있다.
본 명세서에서 서술되는 임의의 구현에서 사용되는 바와 같이, 용어 "모듈"은 본 명세서에서 서술되는 기능을 제공하도록 구성되는 소프트웨어 로직, 펌웨어 로직 및/또는 하드웨어 로직의 임의의 조합을 가리킨다. 소프트웨어는 소프트웨어 패키지, 코드 및/또는 명령 세트 또는 명령으로서 구현될 수 있고, "하드웨어"는, 본 명세서에서 서술되는 임의의 구현에서 사용되는 바와 같이, 예컨대 하드웨어에 내장된 회로, 프로그램 가능 회로, 상태 머신 회로, 및/또는 프로그램 가능 회로에 의해 실행되는 명령을 저장하는 펌웨어를 개별적으로 또는 임의의 조합으로 포함할 수 있다. 모듈은, 집합적으로 또는 개별적으로, 보다 큰 시스템, 예컨대 집적 회로(IC), 시스템 온 칩(SoC) 등의 일부를 형성하는 회로로서 구현될 수 있다.
도 13은 본 개시에 따른 예시의 시스템(1300)을 설명한다. 다양한 구현에서, 시스템(1300)은 매체 시스템일 수 있지만 시스템(1300)은 이 맥락으로 한정되지 않는다. 예컨대, 시스템(1300)은 퍼스널 컴퓨터(PC), 랩톱 컴퓨터, 울트라 랩톱 컴퓨터, 태블릿, 터치 패드, 포터블 컴퓨터, 핸드헬드 컴퓨터, 팜톱 컴퓨터, 개인용 디지털 보조 장치(PDA), 휴대 전화, 콤비네이션 휴대 전화/PDA, 텔레비전, 스마트 디바이스(예컨대, 스마트폰, 스마트 태블릿 또는 스마트 텔레비전), 모바일 인터넷 디바이스(MID), 메시징 디바이스, 데이터 통신 디바이스, 카메라(예컨대 자동 노출(point-and-shoot) 카메라, 슈퍼 줌 카메라, DSLR 카메라) 등으로 통합될 수 있다.
다양한 구현에서, 시스템(1300)은 디스플레이(1320)에 연결되는 플랫폼(1302)을 포함한다. 플랫폼(1302)은 콘텐츠 서비스 디바이스(들)(1330) 또는 콘텐츠 전달 디바이스(들)(1340)와 같은 콘텐츠 디바이스 또는 다른 유사한 콘텐츠 소스로부터 콘텐츠를 수신할 수 있다. 하나 이상의 내비게이션 피쳐(feature)를 포함하는 내비게이션 컨트롤러(1350)는 예컨대 플랫폼(1302) 및/또는 디스플레이(1320)와 상호작용하기 위해 사용될 수 있다. 이들 요소의 각각은 이하에 보다 상세하게 서술된다.
다양한 구현에서, 플랫폼(1302)은 칩셋(1305), 프로세서(1310), 메모리(1312), 스토리지(1314), 그래픽 서브시스템(1315), 애플리케이션(1316) 및/또는 무선 장치(1318)의 임의의 조합을 포함할 수 있다. 칩셋(1305)은 프로세서(1310), 메모리(1312), 스토리지(1314), 그래픽 서브시스템(1315), 애플리케이션(1316) 및/또는 무선 장치(1318) 사이에서 교신을 제공할 수 있다. 예컨대, 칩셋(1305)은 스토리지(1314)와의 교신을 제공할 수 있는 스토리지 어댑터(도시하지 않음)를 포함할 수 있다.
프로세서(1310)는 복잡 명령 집합 컴퓨터(CISC) 또는 축소 명령 집합 컴퓨터(RISC) 프로세서, x86 명령 집합 호환 프로세서, 멀티코어, 또는 임의의 다른 마이크로프로세서 또는 중앙 처리 장치(CPU)로서 구현될 수 있다. 다양한 구현에서, 프로세서(1310)는 듀얼코어 프로세서(들), 듀얼코어 모바일 프로세서(들) 등일 수 있다.
메모리(1312)는 랜덤 액세스 메모리(RAM), 다이내믹 랜덤 액세스 메모리(DRAM), 또는 스태틱 RAM(SRAM)과 같은(이것으로 제한되지 않음) 휘발성 메모리 디바이스로서 구현될 수 있다.
스토리지(1314)는 자기 디스크 드라이브, 광학 디스크 드라이브, 테이프 드라이브, 내부 스토리지 디바이스, 부착 스토리지 디바이스, 플래시 메모리, 배터리 백업 SDRAM(동기형 DRAM), 및/또는 네트워크 액세스 가능 스토리지 디바이스와 같은(이것으로 제한되지 않음) 비휘발성 스토리지 디바이스로서 구현될 수 있다. 다양한 구현에서, 스토리지(1314)는 예컨대 다수의 하드 드라이브가 포함되는 경우 귀중한 디지털 매체를 위한 보호가 강화된 스토리지 성능을 향상시키기 위한 기술을 포함할 수 있다.
그래픽 서브시스템(1315)은 디스플레이를 위한 스틸 이미지 또는 비디오 이미지와 같은 이미지의 처리를 행할 수 있다. 그래픽 서브시스템(1315)은 예컨대 그래픽 처리 유닛(GPU) 또는 시각 처리 유닛(VPU)일 수 있다. 아날로그 또는 디지털 인터페이스는 그래픽 서브시스템(1315) 및 디스플레이(1320)를 통신적으로 연결하기 위해 사용될 수 있다. 예컨대, 인터페이스는 고화질 멀티미디어 인터페이스, 디스플레이포트, 무선 HDMI, 및/또는 무선 HD 준거 기술 중 어느 하나일 수 있다. 그래픽 서브시스템(1315)은 프로세서(1310) 또는 칩셋(1305)으로 통합될 수 있다. 몇몇의 구현에서, 그래픽 서브시스템(1315)은 칩셋(1305)에 통신적으로 연결되는 독립형(stand-alone) 디바이스일 수 있다.
본 명세서에서 서술되는 그래픽 및/또는 비디오 처리 기술은 다양한 하드웨어 아키텍처로 구현될 수 있다. 예컨대, 그래픽 및/또는 비디오 기능은 칩셋 내에서 통합될 수 있다. 혹은, 별개의 그래픽 및/또는 비디오 프로세서가 사용될 수 있다. 또 다른 구현으로서, 그래픽 및/또는 비디오 기능은 멀티코어 프로세서를 포함하는 범용 프로세서에 의해 제공될 수 있다. 다른 실시 형태에서, 기능은 가정용 전자 기기에 구현될 수 있다.
무선 장치(1318)는 다양한 적합한 무선 통신 기술을 사용하여 신호를 송신 및 수신할 수 있는 하나 이상의 무선 장치를 포함할 수 있다. 그러한 기술은 하나 이상의 무선 네트워크를 통한 통신을 수반할 수 있다. 예시의 무선 네트워크는 무선 근거리 통신망(WLAN), 무선 개인 영역 네트워크(WPAN), 무선 도시권 통신망(WMAN), 셀룰러 네트워크, 및 위성 네트워크를 포함한다(이것으로 한정되지는 않음). 그러한 네트워크를 통한 통신에 있어서, 무선 장치(1318)는 임의의 버전의 하나 이상의 적절한 표준에 따라서 동작할 수 있다.
다양한 구현에서, 디스플레이(1320)는 임의의 텔레비전 형태의 모니터 또는 디스플레이를 포함할 수 있다. 디스플레이(1320)는 예컨대 컴퓨터 디스플레이 스크린, 터치 스크린 디스플레이, 비디오 모니터, 텔레비전형 디바이스, 및/또는 텔레비전을 포함할 수 있다. 디스플레이(1320)는 디지털 및/또는 아날로그일 수 있다. 다양한 구현에서, 디스플레이(1320)는 홀로그래픽 디스플레이일 수 있다. 또한, 디스플레이(1320)는 시각 투영을 수신할 수 있는 투명한 표면일 수 있다. 그러한 투영은 다양한 형태의 정보, 이미지, 및/또는 물체를 전달할 수 있다. 예컨대, 그러한 투영은 모바일 증강 현실(MAR) 애플리케이션을 위한 시각 오버레이일 수 있다. 하나 이상의 소프트웨어 애플리케이션(1316)의 제어에 의해, 플랫폼(1302)은 디스플레이(1320)에 사용자 인터페이스(1322)를 표시할 수 있다.
다양한 구현에서, 콘텐츠 서비스 디바이스(들)(1330)는 임의의 국내 서비스, 해외 서비스 및/또는 독립적 서비스에 의해 호스팅될 수 있으므로 예컨대 인터넷을 통해서 플랫폼(1302)에 액세스할 수 있다. 콘텐츠 서비스 디바이스(들)(1330)는 플랫폼(1302) 및/또는 디스플레이(1320)에 연결될 수 있다. 플랫폼(1302) 및/또는 콘텐츠 서비스 디바이스(들)(1330)는 네트워크(1360)와 매체 정보를 통신(예컨대 송신 및/또는 수신)하기 위해 네트워크(1360)에 연결될 수 있다. 콘텐츠 전달 디바이스(들)(1340)는 또한 플랫폼(1302) 및/또는 디스플레이(1320)에 연결될 수 있다.
다양한 구현에서, 콘텐츠 서비스 디바이스(들)(1330)는 케이블 텔레비전 박스, 퍼스널 컴퓨터, 네트워크, 전화, 인터넷 사용 가능 디바이스 또는 디지털 정보 및/또는 콘텐츠를 전달할 수 있는 기기, 및 네트워크(1360)를 통해서 또는 직접적으로 콘텐츠 제공자와 플랫폼(1302) 및 디스플레이(1320) 사이에서 단방향으로 또는 쌍방향으로 콘텐츠를 통신할 수 있는 임의의 다른 유사한 디바이스를 포함할 수 있다. 콘텐츠는 시스템(1300)의 요소 중 어느 하나 및 콘텐츠 제공자와의 사이에서 네트워크(1360)를 통하여 단방향으로 및/또는 쌍방향으로 통신될 수 있음이 이해될 것이다. 콘텐츠의 예는 예컨대 비디오, 음악, 의학 및 게임 정보 등을 포함하는 임의의 매체 정보를 포함할 수 있다.
콘텐츠 서비스 디바이스(들)(1330)는 매체 정보, 디지털 정보, 및/또는 다른 콘텐츠를 포함하는 케이블 텔레비전 프로그래밍과 같은 콘텐츠를 수신할 수 있다. 콘텐츠 제공자의 예는 임의의 케이블 또는 위성 텔레비전 또는 라디오 또는 인터넷 콘텐츠 제공자를 포함할 수 있다. 제공된 예는 어떠한 방식으로도 본 개시에 따른 구현으로 한정하고자 의도된 것이 아니다.
다양한 구현에서, 플랫폼(1302)은 하나 이상의 내비게이션 피쳐를 갖는 내비게이션 컨트롤러(1350)로부터 제어 신호를 수신할 수 있다. 컨트롤러(1350)의 내비게이션 피쳐는 예컨대 사용자 인터페이스(1322)와 상호작용하기 위해 사용될 수 있다. 다양한 실시 형태에서, 내비게이션 컨트롤러(1350)는 사용자가 컴퓨터에 공간적(예컨대, 연속적이고 다차원적) 데이터를 입력하게 하는 컴퓨터 하드웨어 요소(특히, 휴먼 인터페이스 디바이스)일 수 있는 포인팅 디바이스일 수 있다. 그래픽 사용자 인터페이스(GUI), 및 텔레비전 및 모니터와 같은 많은 시스템은 사용자가 물리적인 몸짓을 사용하여 컴퓨터 또는 텔레비전을 제어하고 데이터를 제공하게 한다.
컨트롤러(1350)의 내비게이션 피쳐의 움직임은 포인터, 커서, 포커스 링, 또는 디스플레이에 표시되는 다른 시각적 표시자의 움직임에 의해 디스플레이(예컨대 디스플레이(1320))에 모사될 수 있다. 예컨대, 소프트웨어 애플리케이션(1316)의 제어에 의해, 내비게이션 컨트롤러(1350)에 위치되는 내비게이션 피쳐는 예컨대 사용자 인터페이스(1322)에 표시되는 가상 내비게이션 피쳐에 맵핑될 수 있다. 다양한 실시 형태에서, 컨트롤러(1350)는 분리된 요소가 아닐 수 있지만 플랫폼(1302) 및/또는 디스플레이(1320)에 통합될 수 있다. 하지만, 본 개시는 본 명세서에서 나타내거나 또는 서술되는 요소 또는 맥락으로 한정되지 않는다.
다양한 구현에서, 드라이버(도시하지 않음)는, 예컨대 사용 가능하게 되었을 때에, 초기 기동 후에 버튼의 터치로 텔레비전과 같은 플랫폼(1302)을 사용자가 즉각 켜고 끌 수 있게 하기 위한 기술을 포함할 수 있다. 프로그램 로직은 플랫폼이 "오프"되어 있을 때에도 플랫폼(1302)이 미디어 어댑터 또는 다른 콘텐츠 서비스 디바이스(들)(1330) 또는 콘텐츠 전달 디바이스(들)(1340)에 콘텐츠를 스트리밍하게 할 수 있다. 또한, 칩셋(1305)은 예컨대 5.1 서라운드 사운드 오디오 및/또는 고해상도 7.1 서라운드 사운드 오디오를 위한 하드웨어 및/또는 소프트웨어 지원을 포함할 수 있다. 드라이버는 통합된 그래픽 플랫폼을 위한 그래픽 드라이버를 포함할 수 있다. 다양한 실시 형태에서, 그래픽 드라이버는 주변 장치 상호연결(PCI) 익스프레스 그래픽 카드를 포함할 수 있다.
다양한 구현에서, 시스템(1300)에 나타낸 요소의 임의의 하나 이상은 통합될 수 있다. 예컨대, 플랫폼(1302) 및 콘텐츠 서비스 디바이스(들)(1330)가 통합될 수 있거나, 또는 플랫폼(1302) 및 콘텐츠 전달 디바이스(들)(1340)가 통합될 수 있거나, 또는 플랫폼(1302), 콘텐츠 서비스 디바이스(들)(1330), 및 콘텐츠 전달 디바이스(들)(1340)가 통합될 수 있다. 다양한 실시 형태에서, 플랫폼(1302) 및 디스플레이(1320)는 통합된 유닛일 수 있다. 예컨대 디스플레이(1320) 및 콘텐츠 서비스 디바이스(들)(1330)가 통합될 수 있거나, 또는 디스플레이(1320) 및 콘텐츠 전달 디바이스(들)(1340)가 통합될 수 있다. 이들 예는 본 개시를 한정하고자 의도된 것이 아니다.
다양한 실시 형태에서, 시스템(1300)은 무선 시스템, 유선 시스템, 또는 양쪽의 조합으로서 구현될 수 있다. 무선 시스템으로서 구현될 때, 시스템(1300)은 하나 이상의 안테나, 송신기, 수신기, 송수신기, 증폭기, 필터, 제어 로직 등과 같은 무선 공유 매체를 통해서 통신하기에 적합한 요소 및 인터페이스를 포함할 수 있다. 무선 공유 매체의 예는 RF 스펙트럼 등과 같은 무선 스펙트럼의 일부분을 포함할 수 있다. 유선 시스템으로서 구현될 때, 시스템(1300)은 입력/출력(I/O) 어댑터, I/O 어댑터를 대응하는 유선 통신 매체와 연결하기 위한 물리적인 커넥터, 네트워크 인터페이스 카드(NIC), 디스크 컨트롤러, 비디오 컨트롤러, 오디오 컨트롤러 등과 같은 유선 통신 매체를 통해서 통신하기에 적합한 요소 및 인터페이스를 포함할 수 있다. 유선 통신 매체의 예는 와이어, 케이블, 금속납, 인쇄 회로 기판(PCB), 백플레인, 스위치 구성, 반도체 재료, 트위스티드 페어 와이어, 동축 케이블, 광섬유 등을 포함할 수 있다.
플랫폼(1320)은 정보를 통신하기 위한 하나 이상의 논리적 또는 물리적 채널을 확립할 수 있다. 정보는 매체 정보 및 제어 정보를 포함할 수 있다. 매체 정보는 사용자용 콘텐츠를 나타내는 임의의 데이터를 가리킬 수 있다. 콘텐츠의 예는 예컨대 음성 대화로부터의 데이터, 영상 회의, 스트리밍 비디오, 전자 메일("이메일") 메시지, 음성 메일 메시지, 영숫자 기호, 그래픽, 이미지, 비디오, 텍스트 등을 포함할 수 있다. 음성 대화로부터의 데이터는 예컨대 음성 정보, 침묵 시간, 배경 잡음, 쾌적 잡음, 음색 등일 수 있다. 제어 정보는 자동화 시스템용 커맨드, 명령 또는 제어 단어를 나타내는 임의의 데이터를 가리킬 수 있다. 예컨대, 제어 정보는 시스템을 통해서 매체 정보를 보내기 위해, 또는 미리 결정된 방식으로 매체 정보를 처리하도록 노드에 명령하기 위해 사용될 수 있다. 하지만, 실시 형태는 도 13에 나타내거나 또는 서술되는 요소 또는 맥락으로 한정되지 않는다.
상술한 바와 같이, 시스템(1300)은 다양한 물리적 스타일 또는 폼팩터(form factor)로 구현될 수 있다. 도 14는 시스템(1400)이 구현될 수 있는 소형 폼팩터 디바이스(1400)의 구현을 설명한다. 다양한 실시 형태에서, 예컨대, 디바이스(1400)는 무선 기능을 갖는 모바일 컴퓨팅 디바이스로서 구현될 수 있다. 모바일 컴퓨팅 디바이스는 예컨대 처리 시스템 및 하나 이상의 배터리와 같은 모바일 파워 소스 또는 서플라이를 갖는 임의의 디바이스를 가리킬 수 있다.
상술한 바와 같이, 모바일 컴퓨팅 디바이스의 예는 퍼스널 컴퓨터(PC), 랩톱 컴퓨터, 울트라 랩톱 컴퓨터, 태블릿, 터치 패드, 포터블 컴퓨터, 핸드헬드 컴퓨터, 팜톱 컴퓨터, 개인용 디지털 보조 장치(PDA), 휴대 전화, 통합 휴대 전화/PDA, 텔레비전, 스마트 디바이스(예컨대, 스마트폰, 스마트 태블릿 또는 스마트 텔레비전), 모바일 인터넷 디바이스(MID), 메시징 디바이스, 데이터 통신 디바이스, 카메라(예컨대 자동 노출 카메라, 슈퍼 줌 카메라, DSLR 카메라) 등을 포함할 수 있다.
모바일 컴퓨팅 디바이스의 예는 또한 손목 컴퓨터, 손가락 컴퓨터, 반지 컴퓨터, 안경 컴퓨터, 벨트클립 컴퓨터, 암밴드 컴퓨터, 신발 컴퓨터, 옷 컴퓨터, 및 다른 웨어러블 컴퓨터와 같은 사람이 착용하도록 구성되는 컴퓨터를 포함할 수 있다. 다양한 실시 형태에서, 예컨대, 모바일 컴퓨팅 디바이스는 음성 통신 및/또는 데이터 통신뿐만 아니라 컴퓨터 애플리케이션을 실행할 수 있는 스마트폰으로서 구현될 수 있다. 몇몇의 실시 형태는 예로서 스마트폰으로서 구현되는 모바일 컴퓨팅 디바이스로 서술될 수 있지만, 다른 실시 형태는 다른 무선 모바일 컴퓨팅 디바이스도 사용하여 구현될 수 있음이 이해될 수 있다. 실시 형태는 이 맥락으로 한정되지 않는다.
도 14에 나타낸 바와 같이, 디바이스(1400)는 하우징(1402), 디스플레이(1404), 입력/출력(I/O) 디바이스(1406), 및 안테나(1408)를 포함할 수 있다. 디바이스(1400)는 또한 내비게이션 피쳐(1412)를 포함할 수 있다. 디스플레이(1404)는 모바일 컴퓨팅 디바이스를 위한 적절한 정보를 표시하기 위한 임의의 적합한 디스플레이 유닛을 포함할 수 있다. I/O 디바이스(1406)는 모바일 컴퓨팅 디바이스에 정보를 입력하기 위한 임의의 적합한 I/O 디바이스를 포함할 수 있다. I/O 디바이스(1406)에 대한 예는 영숫자 키보드, 숫자 키패드, 터치 패드, 입력 키, 버튼, 스위치, 로커 스위치, 마이크로폰, 스피커, 음성 인식 디바이스 및 소프트웨어 등을 포함할 수 있다. 정보는 또한 마이크로폰(도시하지 않음)을 거쳐 디바이스(1400)에 입력될 수 있다. 그러한 정보는 음성 인식 디바이스(도시하지 않음)에 의해 디지털화될 수 있다. 실시 형태는 이 맥락으로 한정되지 않는다.
다양한 실시 형태는 하드웨어 요소, 소프트웨어 요소, 또는 양쪽의 조합을 사용하여 구현될 수 있다. 하드웨어 요소의 예는 프로세서, 마이크로프로세서, 회로, 회로 요소(예컨대, 트랜지스터, 저항, 커패시터, 인덕터 등), 집적 회로, 특정 용도용 집적 회로(ASIC), 프로그램 가능 논리 소자(PLD), 디지털 신호 처리기(DSP), 필드 프로그램 가능 게이트 어레이(FPGA), 논리 게이트, 레지스터, 반도체 디바이스, 칩, 마이크로칩, 칩셋 등을 포함할 수 있다. 소프트웨어의 예는 소프트웨어 요소, 프로그램, 애플리케이션, 컴퓨터 프로그램, 애플리케이션 프로그램, 시스템 프로그램, 머신 프로그램, 오퍼레이팅 시스템 소프트웨어, 미들웨어, 펌웨어, 소프트웨어 모듈, 루틴, 서브루틴, 기능, 방법, 절차, 소프트웨어 인터페이스, 응용 프로그램 인터페이스(API), 명령 세트, 컴퓨팅 코드, 컴퓨터 코드, 코드 세그먼트, 컴퓨터 코드 세그먼트, 단어, 값, 심볼, 또는 그 임의의 조합을 포함할 수 있다. 실시 형태가 하드웨어 요소 및/또는 소프트웨어 요소를 사용하여 구현되는지 결정하는 것은 바람직한 계산 속도, 전력 레벨, 내열성, 처리 사이클 비용, 입력 데이터 속도, 출력 데이터 속도, 메모리 리소스, 데이터 버스 스피드 및 다른 설계 또는 성능 제약과 같은 임의의 수의 요인에 따라서 달라질 수 있다.
적어도 한 실시 형태의 하나 이상의 측면은 프로세서 내의 다양한 로직을 나타내는 머신 판독 가능 매체에 저장되는 표현적인 명령에 의해 구현될 수 있고, 이 명령은 머신에 의해 판독될 때 머신이 본 명세서에서 서술되는 기술을 행하기 위한 로직을 제작하게 한다. "IP 코어"로서 알려진 그러한 표현(representation)은 유형의 머신 판독 가능 매체에 저장되고 다양한 고객 또는 생산 시설에 공급되어 실제로 로직 또는 프로세서를 만드는 제작 머신에 로딩될 수 있다.
본 명세서에서 설명되는 임의의 특징은 다양한 구현을 참조하여 서술되었지만, 이 서술은 제한하는 의미로 해석되도록 의도되지 않는다. 따라서, 다른 구현뿐만 아니라, 본 개시와 관련되는 기술 분야에서 통상의 지식을 가진 자에게 이해되는 본 명세서에서 서술되는 구현의 다양한 변경은 본 개시의 사상 및 범위 내에 있는 것으로 여겨진다.

Claims (42)

  1. 비디오 코딩을 실행하는 방법으로서,
    강화 레이어(EL : Enhancement Layer) 비디오 디코더에서, 하위 레벨 EL 프레임 또는 베이스 레이어(BL : Base Layer) 프레임 중 적어도 하나로부터 얻어지는 하나 이상의 제 1 인트라 모드 후보(one or more first intra mode candidates)에 적어도 부분적으로 근거하여 EL 프레임의 현재의 블록에 대한 예측 인트라 모드(a predicted intra mode)를 결정하는 단계를 포함하되,
    상기 하나 이상의 제 1 인트라 모드 후보를 포함하는 인트라 모드 후보의 리스트가 생성되고, 상기 인트라 모드 후보의 리스트는 상기 인트라 모드 후보의 각각의 우선도의 표시를 포함하는
    비디오 코딩 실행 방법.
  2. 제 1 항에 있어서,
    상기 하나 이상의 제 1 인트라 모드 후보는 상기 하위 레벨 EL 프레임 및/또는 상기 BL 프레임의 하나 이상의 동일 위치 블록(co-located block)의 인트라 모드를 포함하는 비디오 코딩 실행 방법.
  3. 제 2 항에 있어서,
    상기 하나 이상의 제 1 인트라 모드 후보는 상기 동일 위치 블록에 공간적으로 인접하는 하나 이상의 블록의 인트라 모드를 더 포함하는 비디오 코딩 실행 방법.
  4. 제 1 항에 있어서,
    상기 예측 인트라 모드를 결정하는 단계는 상기 하나 이상의 제 1 인트라 모드 후보 및 상기 EL 프레임에서 상기 현재의 블록에 공간적으로 인접하는 적어도 하나의 블록으로부터 얻어지는 하나 이상의 제 2 인트라 모드 후보에 적어도 부분적으로 응답하여 상기 현재의 블록에 대한 상기 예측 인트라 모드를 결정하는 단계를 포함하는 비디오 코딩 실행 방법.
  5. 제 1 항에 있어서,
    비트스트림 내의 하나 이상의 표시자(indicator)에 액세스하는 단계를 더 포함하고,
    상기 예측 인트라 모드를 결정하는 단계는 상기 하나 이상의 표시자에 근거하여 상기 예측 인트라 모드를 결정하는 단계를 포함하는
    비디오 코딩 실행 방법.
  6. 제 5 항에 있어서,
    상기 하나 이상의 표시자는 후보 인트라 모드 인덱스에 대응하는 표시자를 포함하고,
    상기 후보 인트라 모드 인덱스는 상기 현재의 블록에 대한 상기 예측 인트라 모드에 대응하는 상기 하나 이상의 제 1 인트라 모드 후보 중 하나를 명시하는
    비디오 코딩 실행 방법.
  7. 제 5 항에 있어서,
    상기 하나 이상의 표시자는 상기 하나 이상의 제 1 인트라 모드 후보 중 하나와 상기 현재의 블록에 대한 상기 예측 인트라 모드 사이의 차이를 명시하는 다른 표시자를 더 포함하는 비디오 코딩 실행 방법.
  8. 삭제
  9. 제 1 항에 있어서,
    상기 EL에 보다 가까운 레이어의 인트라 모드 후보는 상기 EL로부터 보다 먼 레이어의 인트라 모드 후보의 우선도보다 높은 우선도를 갖는
    비디오 코딩 실행 방법.
  10. 적어도 하나의 머신 판독 가능 매체로서,
    컴퓨팅 디바이스에서 실행되는 것에 응답하여 상기 컴퓨팅 디바이스가 하위 레벨 EL 프레임 또는 베이스 레이어(BL) 프레임 중 적어도 하나로부터 얻어지는 하나 이상의 제 1 인트라 모드 후보에 적어도 부분적으로 응답하여 강화 레이어(EL) 프레임의 현재의 블록에 대한 예측 인트라 모드를 결정하게 하는 복수의 명령을 포함하되,
    상기 하나 이상의 제 1 인트라 모드 후보를 포함하는 인트라 모드 후보의 리스트는 상기 인트라 모드 후보의 각각의 우선도의 표시를 포함하는
    적어도 하나의 머신 판독 가능 매체.
  11. 제 10 항에 있어서,
    상기 하나 이상의 제 1 인트라 모드 후보는 상기 하위 레벨 EL 프레임 및/또는 상기 BL 프레임의 하나 이상의 동일 위치 블록의 인트라 모드를 포함하는 적어도 하나의 머신 판독 가능 매체.
  12. 제 11 항에 있어서,
    상기 하나 이상의 제 1 인트라 모드 후보는 상기 동일 위치 블록에 공간적으로 인접하는 하나 이상의 블록의 인트라 모드를 더 포함하는 적어도 하나의 머신 판독 가능 매체.
  13. 제 10 항에 있어서,
    상기 예측 인트라 모드를 결정하는 것은 상기 하나 이상의 제 1 인트라 모드 후보 및 상기 EL 프레임에서 상기 현재의 블록에 공간적으로 인접하는 적어도 하나의 블록으로부터 얻어지는 하나 이상의 제 2 인트라 모드 후보에 적어도 부분적으로 응답하여 상기 현재의 블록에 대한 상기 예측 인트라 모드를 결정하는 것을 포함하는 적어도 하나의 머신 판독 가능 매체.
  14. 제 10 항에 있어서,
    상기 컴퓨팅 디바이스에서 실행되는 것에 응답하여 상기 컴퓨팅 디바이스가 비트스트림 내의 하나 이상의 표시자에 액세스하게 하는 하나 이상의 명령을 더 포함하는 적어도 하나의 머신 판독 가능 매체.
  15. 제 14 항에 있어서,
    상기 하나 이상의 표시자는 후보 인트라 모드 인덱스에 대응하는 표시자를 포함하고,
    상기 후보 인트라 모드 인덱스는 상기 현재의 블록에 대한 상기 예측 인트라 모드에 대응하는 상기 하나 이상의 제 1 인트라 모드 후보 중 하나를 명시하는
    적어도 하나의 머신 판독 가능 매체.
  16. 제 14 항에 있어서,
    상기 하나 이상의 표시자는 상기 하나 이상의 제 1 인트라 모드 후보 중 하나와 상기 현재의 블록에 대한 상기 예측 인트라 모드 사이의 차이를 명시하는 다른 표시자를 더 포함하는 적어도 하나의 머신 판독 가능 매체.
  17. 삭제
  18. 제 10 항에 있어서,
    상기 EL에 보다 가까운 레이어의 인트라 모드 후보는 상기 EL로부터 보다 먼 레이어의 인트라 모드 후보의 우선도보다 높은 우선도를 갖는
    적어도 하나의 머신 판독 가능 매체.
  19. 하나 이상의 제 1 인트라 모드 후보를 저장하기 위한 메모리와,
    상기 메모리에 액세스하고, 상기 하나 이상의 제 1 인트라 모드 후보에 적어도 부분적으로 근거하여 강화 레이어(EL) 프레임의 현재의 블록에 대한 예측 인트라 모드를 결정하기 위한 회로를 포함하되,
    상기 하나 이상의 제 1 인트라 모드 후보는 하위 레벨 EL 프레임, 또는 베이스 레이어(BL) 프레임 중 적어도 하나로부터 얻어지는 인트라 모드 후보를 포함하고,
    상기 하나 이상의 제 1 인트라 모드 후보를 포함하는 인트라 모드 후보의 리스트가 생성되고, 상기 인트라 모드 후보의 리스트는 상기 인트라 모드 후보의 각각의 우선도의 표시를 포함하는
    장치.
  20. 제 19 항에 있어서,
    상기 하나 이상의 제 1 인트라 모드 후보는 상기 하위 레벨 EL 프레임 및/또는 상기 BL 프레임의 하나 이상의 동일 위치 블록의 인트라 모드를 포함하는 장치.
  21. 제 20 항에 있어서,
    상기 하나 이상의 제 1 인트라 모드 후보는 상기 동일 위치 블록에 공간적으로 인접하는 하나 이상의 블록의 인트라 모드를 더 포함하는 장치.
  22. 제 19 항에 있어서,
    상기 예측 인트라 모드를 결정하는 것은 상기 하나 이상의 제 1 인트라 모드 후보 및 상기 EL 프레임에서 상기 현재의 블록에 공간적으로 인접하는 적어도 하나의 블록으로부터 얻어지는 하나 이상의 제 2 인트라 모드 후보에 적어도 부분적으로 근거하여 상기 현재의 블록에 대한 상기 예측 인트라 모드를 결정하는 것을 포함하는 장치.
  23. 제 19 항에 있어서,
    비트스트림 내의 하나 이상의 표시자에 액세스하기 위한 회로를 더 포함하고,
    상기 예측 인트라 모드를 결정하는 것은 상기 하나 이상의 표시자에 근거하여 상기 예측 인트라 모드를 결정하는 것을 포함하는
    장치.
  24. 제 23 항에 있어서,
    상기 하나 이상의 표시자는 후보 인트라 모드 인덱스에 대응하는 표시자를 포함하고,
    상기 후보 인트라 모드 인덱스는 상기 현재의 블록에 대한 상기 예측 인트라 모드에 대응하는 상기 하나 이상의 제 1 인트라 모드 후보 중 하나를 명시하는
    장치.
  25. 제 23 항에 있어서,
    상기 하나 이상의 표시자는 상기 하나 이상의 제 1 인트라 모드 후보 중 하나와 상기 현재의 블록에 대한 상기 예측 인트라 모드 사이의 차이를 명시하는 다른 표시자를 더 포함하는 장치.
  26. 삭제
  27. 제 19 항에 있어서,
    상기 EL에 보다 가까운 레이어의 인트라 모드 후보는 상기 EL로부터 보다 먼 레이어의 인트라 모드 후보의 우선도보다 높은 우선도를 갖는
    장치.
  28. 비디오 코딩을 실행하는 방법으로서,
    강화 레이어(EL) 비디오 인코더에서, 하위 레벨 EL 프레임 또는 베이스 레이어(BL) 프레임 중 적어도 하나로부터 얻어지는 하나 이상의 제 1 인트라 모드 후보에 적어도 부분적으로 근거하여 EL 프레임의 현재의 블록에 대한 예측 인트라 모드를 결정하는 단계를 포함하되,
    상기 하나 이상의 제 1 인트라 모드 후보를 포함하는 인트라 모드 후보의 리스트가 생성되고, 상기 인트라 모드 후보의 리스트는 상기 인트라 모드 후보의 각각의 우선도의 표시를 포함하는
    비디오 코딩 실행 방법.
  29. 제 28 항에 있어서,
    상기 하나 이상의 제 1 인트라 모드 후보는 상기 하위 레벨 EL 프레임 및/또는 상기 BL 프레임의 하나 이상의 동일 위치 블록의 인트라 모드를 포함하는 비디오 코딩 실행 방법.
  30. 제 29 항에 있어서,
    상기 하나 이상의 제 1 인트라 모드 후보는 상기 동일 위치 블록에 공간적으로 인접하는 하나 이상의 블록의 인트라 모드를 더 포함하는 비디오 코딩 실행 방법.
  31. 제 28 항에 있어서,
    상기 예측 인트라 모드를 결정하는 단계는 상기 하나 이상의 제 1 인트라 모드 후보 및 상기 EL 프레임에서 상기 현재의 블록에 공간적으로 인접하게 위치되는 적어도 하나의 블록으로부터 얻어지는 하나 이상의 제 2 인트라 모드 후보에 적어도 부분적으로 근거하여 상기 현재의 블록에 대한 상기 예측 인트라 모드를 결정하는 단계를 포함하는 비디오 코딩 실행 방법.
  32. 제 28 항에 있어서,
    비트스트림 내의 하나 이상의 표시자를 생성하는 단계를 더 포함하고,
    상기 하나 이상의 표시자는 상기 현재의 블록에 대한 상기 예측 인트라 모드를 명시하는
    비디오 코딩 실행 방법.
  33. 제 32 항에 있어서,
    상기 하나 이상의 표시자는 후보 인트라 모드 인덱스를 명시하는 표시자를 포함하고,
    상기 후보 인트라 모드 인덱스는 상기 현재의 블록에 대한 상기 예측 인트라 모드에 대응하는 상기 하나 이상의 제 1 인트라 모드 후보 중 하나를 명시하는
    비디오 코딩 실행 방법.
  34. 제 32 항에 있어서,
    상기 하나 이상의 표시자는 상기 하나 이상의 제 1 인트라 모드 후보 중 하나와 상기 현재의 블록에 대한 상기 예측 인트라 모드 사이의 차이를 명시하는 다른 표시자를 더 포함하는 비디오 코딩 실행 방법.
  35. 제 28 항에 있어서,
    상기 EL에 보다 가까운 레이어의 인트라 모드 후보는 상기 EL로부터 보다 먼 레이어의 인트라 모드 후보의 우선도보다 높은 우선도를 갖는
    비디오 코딩 실행 방법.
  36. 적어도 하나의 머신 판독 가능 매체로서,
    컴퓨팅 디바이스에서 실행되는 것에 응답하여 상기 컴퓨팅 디바이스가 하위 레벨 EL 프레임 또는 베이스 레이어(BL) 프레임 중 적어도 하나로부터 얻어지는 하나 이상의 제 1 인트라 모드 후보에 적어도 부분적으로 근거하여 강화 레이어(EL) 프레임의 현재의 블록에 대한 예측 인트라 모드를 결정하게 하는 복수의 명령을 포함하되,
    상기 하나 이상의 제 1 인트라 모드 후보를 포함하는 인트라 모드 후보의 리스트는 상기 인트라 모드 후보의 각각의 우선도의 표시를 포함하는
    적어도 하나의 머신 판독 가능 매체.
  37. 제 36 항에 있어서,
    상기 하나 이상의 제 1 인트라 모드 후보는 상기 하위 레벨 EL 프레임 및/또는 상기 BL 프레임의 하나 이상의 동일 위치 블록의 인트라 모드 중 적어도 하나, 또는 상기 동일 위치 블록에 공간적으로 인접하는 하나 이상의 블록의 인트라 모드를 포함하는 적어도 하나의 머신 판독 가능 매체.
  38. 제 36 항에 있어서,
    상기 예측 인트라 모드를 결정하는 단계는 상기 하나 이상의 제 1 인트라 모드 후보 및 상기 EL 프레임에서 상기 현재의 블록에 공간적으로 인접하게 위치되는 적어도 하나의 블록으로부터 얻어지는 하나 이상의 제 2 인트라 모드 후보에 적어도 부분적으로 근거하여 상기 현재의 블록에 대한 상기 예측 인트라 모드를 결정하는 단계를 포함하는 적어도 하나의 머신 판독 가능 매체.
  39. 제 36 항에 있어서,
    상기 컴퓨팅 디바이스에서 실행되는 것에 응답하여 상기 컴퓨팅 디바이스가 비트스트림 내의 하나 이상의 표시자를 생성하게 하는 하나 이상의 명령을 더 포함하고,
    상기 하나 이상의 표시자는 상기 현재의 블록에 대한 상기 예측 인트라 모드를 명시하는
    적어도 하나의 머신 판독 가능 매체.
  40. 제 39 항에 있어서,
    상기 하나 이상의 표시자는 후보 인트라 모드 인덱스를 명시하는 표시자를 포함하고,
    상기 후보 인트라 모드 인덱스는 상기 현재의 블록에 대한 상기 예측 인트라 모드에 대응하는 상기 하나 이상의 제 1 인트라 모드 후보 중 하나를 명시하는
    적어도 하나의 머신 판독 가능 매체.
  41. 제 39 항에 있어서,
    상기 하나 이상의 표시자는 상기 하나 이상의 제 1 인트라 모드 후보 중 하나와 상기 현재의 블록에 대한 상기 예측 인트라 모드 사이의 차이를 명시하는 다른 표시자를 더 포함하는 적어도 하나의 머신 판독 가능 매체.
  42. 제 36 항에 있어서,
    상기 EL에 보다 가까운 레이어의 인트라 모드 후보는 상기 EL로부터 보다 먼 레이어의 인트라 모드 후보의 우선도보다 높은 우선도를 갖는
    적어도 하나의 머신 판독 가능 매체.
KR1020157004739A 2012-09-28 2012-09-28 인터-레이어 인트라 모드 예측 KR101650742B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2012/082323 WO2014047881A1 (en) 2012-09-28 2012-09-28 Inter-layer intra mode prediction

Publications (2)

Publication Number Publication Date
KR20150038296A KR20150038296A (ko) 2015-04-08
KR101650742B1 true KR101650742B1 (ko) 2016-08-24

Family

ID=50386855

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157004739A KR101650742B1 (ko) 2012-09-28 2012-09-28 인터-레이어 인트라 모드 예측

Country Status (6)

Country Link
US (1) US9860558B2 (ko)
EP (1) EP2901693A4 (ko)
KR (1) KR101650742B1 (ko)
CN (1) CN104541505B (ko)
SG (1) SG11201500316PA (ko)
WO (1) WO2014047881A1 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8902978B2 (en) * 2010-05-30 2014-12-02 Lg Electronics Inc. Enhanced intra prediction mode signaling
MX2013006339A (es) * 2011-01-07 2013-08-26 Mediatek Singapore Pte Ltd Metodo y aparato para una mejor codificacion del modo de prediccion intra-luma.
US10091515B2 (en) 2012-03-21 2018-10-02 Mediatek Singapore Pte. Ltd Method and apparatus for intra mode derivation and coding in scalable video coding
US10375405B2 (en) * 2012-10-05 2019-08-06 Qualcomm Incorporated Motion field upsampling for scalable coding based on high efficiency video coding
GB2509901A (en) * 2013-01-04 2014-07-23 Canon Kk Image coding methods based on suitability of base layer (BL) prediction data, and most probable prediction modes (MPMs)
KR102341872B1 (ko) * 2015-06-12 2021-12-23 삼성디스플레이 주식회사 영상의 부호화, 복호화 방법 및 장치
CN116915999A (zh) * 2016-04-29 2023-10-20 世宗大学校产学协力团 视频信号编码/解码方法和设备
CN117499646A (zh) * 2016-04-29 2024-02-02 英迪股份有限公司 图像解码方法、图像编码方法和用于发送比特流的方法
CN114584763A (zh) 2016-04-29 2022-06-03 英迪股份有限公司 解码和编码视频的方法以及传送比特流的方法
US10805607B2 (en) 2016-04-29 2020-10-13 Industry Academy Cooperation Foundation Of Sejong University Video signal encoding/decoding method and apparatus
US10448056B2 (en) * 2016-07-15 2019-10-15 Qualcomm Incorporated Signaling of quantization information in non-quadtree-only partitioned video coding
US10511853B2 (en) * 2016-11-24 2019-12-17 Ecole De Technologie Superieure Method and system for parallel rate-constrained motion estimation in video coding
US10585837B2 (en) * 2017-10-17 2020-03-10 Megachips Technology America Corporation Data transmission method and data transmission system
CN112106368B (zh) * 2018-12-29 2022-07-22 富士通株式会社 一种图像的块内编码或解码方法、数据处理装置和电子设备
KR20210100741A (ko) * 2019-02-21 2021-08-17 엘지전자 주식회사 영상 코딩 시스템에서 인트라 예측을 사용하는 영상 디코딩 방법 및 그 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100954172B1 (ko) 2008-10-24 2010-04-20 부산대학교 산학협력단 Svc 복호화기의 공용 예측 블록 시스템
KR101040087B1 (ko) 2010-01-13 2011-06-09 전자부품연구원 H.264 svc를 위한 효율적인 부호화 방법
KR101055738B1 (ko) * 2005-01-21 2011-08-11 엘지전자 주식회사 베이스 레이어의 내부모드 블록의 예측정보를 이용하여 영상신호를 엔코딩/디코딩하는 방법 및 장치
JP2012050153A (ja) 2005-01-12 2012-03-08 Nokia Corp スケーラブルビデオ符号化における層間予測モード符号化のための方法およびシステム

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7145948B2 (en) * 2002-05-29 2006-12-05 Koninklijke Philips Electronics N.V. Entropy constrained scalar quantizer for a Laplace-Markov source
US8374238B2 (en) * 2004-07-13 2013-02-12 Microsoft Corporation Spatial scalability in 3D sub-band decoding of SDMCTF-encoded video
EP1842379A4 (en) * 2005-01-25 2010-08-11 Samsung Electronics Co Ltd METHOD FOR EFFECTIVELY PREDICTING A MULTILAYER VIDEO FRAME, VIDEO ENCODING METHOD, AND APPARATUS USING THE SAME
KR100703748B1 (ko) * 2005-01-25 2007-04-05 삼성전자주식회사 다 계층 기반의 비디오 프레임을 효율적으로 예측하는 방법및 그 방법을 이용한 비디오 코딩 방법 및 장치
US7961963B2 (en) * 2005-03-18 2011-06-14 Sharp Laboratories Of America, Inc. Methods and systems for extended spatial scalability with picture-level adaptation
MX2008000522A (es) * 2005-07-11 2008-03-06 Thomson Licensing Metodo y aparato para la prediccion adaptable de intra-textura entre capas de macrobloque.
US8879857B2 (en) * 2005-09-27 2014-11-04 Qualcomm Incorporated Redundant data encoding methods and device
US8315308B2 (en) * 2006-01-11 2012-11-20 Qualcomm Incorporated Video coding with fine granularity spatial scalability
US8565314B2 (en) * 2006-10-12 2013-10-22 Qualcomm Incorporated Variable length coding table selection based on block type statistics for refinement coefficient coding
US7573407B2 (en) * 2006-11-14 2009-08-11 Qualcomm Incorporated Memory efficient adaptive block coding
US7545293B2 (en) 2006-11-14 2009-06-09 Qualcomm Incorporated Memory efficient coding of variable length codes
US8548056B2 (en) * 2007-01-08 2013-10-01 Qualcomm Incorporated Extended inter-layer coding for spatial scability
US8724697B2 (en) * 2008-09-26 2014-05-13 Qualcomm Incorporated Locating motion vectors for video data units
US8724707B2 (en) * 2009-05-07 2014-05-13 Qualcomm Incorporated Video decoding using temporally constrained spatial dependency
US8451904B2 (en) * 2009-06-24 2013-05-28 Qualcomm Incorporated 8-point transform for media data coding
US8879634B2 (en) * 2010-08-13 2014-11-04 Qualcomm Incorporated Coding blocks of data using one-to-one codes
GB2483294B (en) * 2010-09-03 2013-01-02 Canon Kk Method and device for motion estimation of video data coded according to a scalable coding structure
JP4908620B2 (ja) * 2010-09-07 2012-04-04 株式会社東芝 テレビジョン受像機及び電子機器
US8526495B2 (en) * 2010-11-22 2013-09-03 Mediatek Singapore Pte. Ltd. Apparatus and method of constrained partition size for high efficiency video coding
MX2013006339A (es) 2011-01-07 2013-08-26 Mediatek Singapore Pte Ltd Metodo y aparato para una mejor codificacion del modo de prediccion intra-luma.
US9706227B2 (en) * 2011-03-10 2017-07-11 Qualcomm Incorporated Video coding techniques for coding dependent pictures after random access
US9282338B2 (en) * 2011-06-20 2016-03-08 Qualcomm Incorporated Unified merge mode and adaptive motion vector prediction mode candidates selection
US10200709B2 (en) * 2012-03-16 2019-02-05 Qualcomm Incorporated High-level syntax extensions for high efficiency video coding
US9392274B2 (en) * 2012-03-22 2016-07-12 Qualcomm Incorporated Inter layer texture prediction for video coding
EP2898671A4 (en) * 2012-09-21 2016-03-09 Intel Corp PREDICTION OF MOTION VECTORS BETWEEN LAYERS
US20140086328A1 (en) * 2012-09-25 2014-03-27 Qualcomm Incorporated Scalable video coding in hevc
US9491461B2 (en) * 2012-09-27 2016-11-08 Qualcomm Incorporated Scalable extensions to HEVC and temporal motion vector prediction

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012050153A (ja) 2005-01-12 2012-03-08 Nokia Corp スケーラブルビデオ符号化における層間予測モード符号化のための方法およびシステム
KR101055738B1 (ko) * 2005-01-21 2011-08-11 엘지전자 주식회사 베이스 레이어의 내부모드 블록의 예측정보를 이용하여 영상신호를 엔코딩/디코딩하는 방법 및 장치
KR100954172B1 (ko) 2008-10-24 2010-04-20 부산대학교 산학협력단 Svc 복호화기의 공용 예측 블록 시스템
KR101040087B1 (ko) 2010-01-13 2011-06-09 전자부품연구원 H.264 svc를 위한 효율적인 부호화 방법

Also Published As

Publication number Publication date
CN104541505A (zh) 2015-04-22
EP2901693A4 (en) 2016-04-27
US9860558B2 (en) 2018-01-02
CN104541505B (zh) 2019-07-05
SG11201500316PA (en) 2015-02-27
EP2901693A1 (en) 2015-08-05
WO2014047881A1 (en) 2014-04-03
US20150163512A1 (en) 2015-06-11
KR20150038296A (ko) 2015-04-08

Similar Documents

Publication Publication Date Title
KR101650742B1 (ko) 인터-레이어 인트라 모드 예측
KR101653511B1 (ko) 인터-레이어 잔차 예측
JP2015530805A (ja) レイヤ間画素サンプル予測
CN106664409B (zh) 视频编码中黄金帧选择的方法、系统、设备和介质
CN104756498B (zh) 跨层运动向量预测
TW201325256A (zh) 交叉頻道殘差預測之技術
KR20150024398A (ko) 크기 기반 변환 유닛 컨텍스트 도출
TWI559749B (zh) 層間移動資料繼承之技術
US10536710B2 (en) Cross-layer cross-channel residual prediction
KR20150070313A (ko) 다수의 독립 코딩 스트림들 사이에서 공유된 모션 추정을 포함하는 비디오 코딩
US9860533B2 (en) Cross-layer cross-channel sample prediction
KR101777487B1 (ko) 코딩 단위 비트 수 제한
CN104717501A (zh) 层间像素样本预测
JP2015146599A (ja) レイヤ間画素サンプル予測

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant