KR20160031989A - 이미지 처리 장치 및 이미지 처리 방법 - Google Patents

이미지 처리 장치 및 이미지 처리 방법 Download PDF

Info

Publication number
KR20160031989A
KR20160031989A KR1020157003270A KR20157003270A KR20160031989A KR 20160031989 A KR20160031989 A KR 20160031989A KR 1020157003270 A KR1020157003270 A KR 1020157003270A KR 20157003270 A KR20157003270 A KR 20157003270A KR 20160031989 A KR20160031989 A KR 20160031989A
Authority
KR
South Korea
Prior art keywords
image
block
layer
unit
prediction
Prior art date
Application number
KR1020157003270A
Other languages
English (en)
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 KR20160031989A publication Critical patent/KR20160031989A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/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/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/105Selection 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
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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/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
    • 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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • 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/186Methods 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

제1 층의 색상 범위와는 상이한 색상 범위를 갖는 제2 층의 이미지가 제1 층의 이미지로부터 예측될 때 이용되는 예측 파라미터를, 제2 층의 이미지에 포함된 각각의 블록에 대해 설정하도록 구성된 설정부, 설정부에 의해 각 블록에 대해 설정된 예측 파라미터를 이용하여 제1 층의 이미지로부터 제2 층의 예측된 이미지를 생성하도록 구성된 예측부; 및 예측부에 의해 생성된 예측된 이미지를 이용하여 제2 층의 이미지를 디코딩하도록 구성된 디코딩부를 포함하는 이미지 처리 장치가 제공된다.

Description

이미지 처리 장치 및 이미지 처리 방법{IMAGE PROCESSING DEVICE AND IMAGE PROCESSING METHOD}
본 발명은 이미지 처리 장치 및 이미지 처리 방법에 관한 것이다.
ITU-T와 ISO/IEC의 공동 표준화 기구인 JCTVC(Joint Collaboration Team-Video Coding)는, H.264/AVC(이하의 비특허 문헌 1 참조)보다 더 양호한 인코딩 효율을 달성하기 위한 목적의 고효율 비디오 코딩(HEVC; high efficiency video coding)이라고 부르는 이미지 인코딩 방식을 현재 표준화하고 있다.
HEVC는, MPEG2 및 AVC(Advanced Video Coding) 등의 공지된 이미지 인코딩 방식에서와 같이, 단일층의 코딩 뿐만 아니라 스케일링가능한 비디오 코딩을 제공한다. HEVC 스케일링가능한 비디오 코딩 기술은 SHVC(Scalable HEVC)라고도 불린다(예를 들어, 이하의 비특허 문헌 2를 참조).
스케일링가능한 비디오 코딩(SVC; scalable video coding)은, 일반적으로 개략적 이미지 신호(rough image signals)를 전송하는 층들과 정교한 이미지 신호(fine image signals)를 전송하는 층들을 계층적으로 인코딩하는 기술로 표현된다. 스케일링가능한 비디오 코딩에서 계층화된 전형적인 속성들은 주로 다음과 같은 3가지를 포함할 수 있다:
- 공간적 스케일링가능성: 공간적 해상도 또는 이미지 크기가 계층화된다.
- 시간적 스케일링가능성: 프레임 레이트가 계층화된다.
- 신호대 잡음비(SNR) 스케일링가능성: SN비가 계층화된다.
또한, 아직까지 표준에 채택되지 않은 비트-깊이 스케일링가능성 및 채도 포멧 스케일링가능성에 관해 논의가 이루어졌다.
비특허 문헌 3에서, 색상 범위들이 계층화되는 색상 범위 스케일링가능성(color gamut scalability)이 논의된다. 예를 들어, 고선명(HD; high definition) 텔레비전에서, 1920×1080 화소의 이미지 크기, ITU-R BT.709의 색상 범위, 및 8 비트의 비트 깊이가 일반적으로 이용된다. 반면, 초고선명(UHD; ultra high definition) 텔레비전에서는, 4000×2000 화소 또는 8000×4000 화소의 이미지 크기, ITU-R BT.2020의 색상 범위, 및 10 또는 12 비트의 비트 깊이의 이용이 연구되고 있다. 일반적으로, 색상 범위의 변환을 위해, 3차원 화소 벡터에 관한 행렬 계산을 수행하는 것이 필요하다. 그러나, BT.709와 BT.2020 사이의 관계를 각 색상 성분에 대해 독립적인 선형 관계로 근사화하는 관점에서, 비특허 문헌 3은, 베이스층에서 BT.709가 이용되고 강화층에서 BT.2020이 이용될 때 간단한 방법에 의해 베이스층의 화소값으로부터 강화층의 화소값을 예측하는 것을 제안하고 있다.
인용 목록
비특허 문헌
비특허 문헌 1: "High Efficiency Video Coding (HEVC) text specification draft 10 (for FDIS & Consent)" by Benjamin Bross, Woo-Jin Han, Gary J. Sullivan, Jens-Rainer Ohm, Gary J. Sullivan, Ye-Kui Wang, and Thomas Wiegand, (JCTVC-L1003 v4, January 14 to 23, 2013)
비특허 문헌 2: "Description of scalable video coding technology proposal by Qualcomm (configuration 2)" by Jianle Chen, el. al, (JCTVC-K0036, October 10 to 19, 2012)
비특허 문헌 3: "Color Gamut Scalable Video Coding: New Results" by Louis Kerofsky, el. al, (JCTVC-L0334, January 14 to 23, 2013)
그러나, 비특허 문헌 3에서 제안된 방법에서, 적응적 파라미터 모드에서 각각의 색상 성분의 예측 파라미터가 각각의 화상에 대해 인코딩된다. 따라서, 예측 파라미터의 값은, 이미지의 모든 영역에서 반드시 최적이라고 말할 수는 없고 층간 예측의 정확도는 일부 경우에는 영역들의 일부에서 낮을 수도 있다.
따라서, 색상 범위 스케일링가능성에서 층간 예측의 정확도의 변동을 억제할 수 있는 구조를 제공하는 것이 바람직하다.
본 발명에 따르면, 제1 층의 색상 범위와는 상이한 색상 범위를 갖는 제2 층의 이미지가 제1 층의 이미지로부터 예측될 때 이용되는 예측 파라미터를, 제2 층의 이미지에 포함된 각각의 블록에 대해 설정하도록 구성된 설정부, 설정부에 의해 각 블록에 대해 설정된 예측 파라미터를 이용하여 제1 층의 이미지로부터 제2 층의 예측된 이미지를 생성하도록 구성된 예측부, 및 예측부에 의해 생성된 예측된 이미지를 이용하여 제2 층의 이미지를 디코딩하도록 구성된 디코딩부를 포함하는 이미지 처리 장치가 제공된다.
상기 언급된 이미지 처리 장치는 통상적으로 이미지를 디코딩하는 이미지 디코딩 장치로서 실현될 수 있다.
본 발명에 따르면, 제1 층의 색상 범위와는 상이한 색상 범위를 갖는 제2 층의 이미지가 제1 층의 이미지로부터 예측될 때 이용되는 예측 파라미터를, 제2 층의 이미지에 포함된 각각의 블록에 대해 설정하는 단계, 각 블록에 대해 설정된 예측 파라미터를 이용하여 제1 층의 이미지로부터 제2 층의 예측된 이미지를 생성하는 단계, 및 생성된 예측된 이미지를 이용하여 제2 층의 이미지를 디코딩하는 단계를 포함하는 이미지 처리 방법이 제공된다.
본 발명에 따르면, 제1 층의 색상 범위와는 상이한 색상 범위를 갖는 제2 층의 이미지가 제1 층의 이미지로부터 예측될 때 이용되는 예측 파라미터를, 제2 층의 이미지에 포함된 각각의 블록에 대해 설정하도록 구성된 설정부, 설정부에 의해 각 블록에 대해 설정된 예측 파라미터를 이용하여 제1 층의 이미지로부터 제2 층의 예측된 이미지를 생성하도록 구성된 예측부, 및 예측부에 의해 생성된 예측된 이미지를 이용하여 제2 층의 이미지를 인코딩하도록 구성된 인코딩부를 포함하는 이미지 처리 장치가 제공된다.
상기 언급된 이미지 처리 장치는 통상적으로 이미지를 인코딩하는 이미지 인코딩 장치로서 실현될 수 있다.
본 발명에 따르면, 제1 층의 색상 범위와는 상이한 색상 범위를 갖는 제2 층의 이미지가 제1 층의 이미지로부터 예측될 때 이용되는 예측 파라미터를, 제2 층의 이미지에 포함된 각각의 블록에 대해 설정하는 단계, 각 블록에 대해 설정된 예측 파라미터를 이용하여 제1 층의 이미지로부터 제2 층의 예측된 이미지를 생성하는 단계, 및 생성된 예측된 이미지를 이용하여 제2 층의 이미지를 인코딩하는 단계를 포함하는 이미지 처리 방법이 제공된다.
본 발명의 기술에 따라, 색상 범위 스케일링가능성에서 층간 예측의 정확도의 변동을 억제하는 것이 가능하다.
도 1은 스케일링가능한 비디오 코딩을 설명하기 위한 설명도이다.
도 2는 BT.709 및 BT.2020로 표현된 색상 범위를 나타내는 설명도이다.
도 3a는 JCTVC-L0334에 의해 제안된 색상 범위 예측에 대한 예측 모드를 나타내는 표이다.
도 3b는 JCTVC-L0334에 의해 제안된 예측 파라미터의 신택스(syntax)를 나타내는 제1 설명도이다.
도 3c는 JCTVC-L0334에 의해 제안된 예측 파라미터의 신택스를 나타내는 제2 설명도이다.
도 4는 실시예에 따른 이미지 인코딩 장치의 개략적 구성을 도시하는 블록도이다.
도 5는 실시예에 따른 이미지 디코딩 장치의 개략적 구성을 도시하는 블록도이다.
도 6은 도 4에 나타낸 EL 인코딩부의 구성례를 도시하는 블록도이다.
도 7은 제1 실시예에 따른 색상 범위 변환부의 구성례를 도시하는 블록도이다.
도 8a는 제1 실시예에서 인코딩될 수 있는 파라미터 정보의 제1 예를 나타내는 설명도이다.
도 8b는 제1 실시예에서 인코딩될 수 있는 파라미터 정보의 제2 예를 나타내는 설명도이다.
도 8c는 제1 실시예에서 인코딩될 수 있는 파라미터 정보의 제3 예를 나타내는 설명도이다.
도 8d는 제1 실시예에서 인코딩될 수 있는 파라미터 정보의 제4 예를 나타내는 설명도이다.
도 9는 제2 실시예에 따른 색상 범위 변환부의 구성례를 도시하는 블록도이다.
도 10a는 제2 실시예에서 예측 파라미터의 계산을 나타내는 제1 설명도이다.
도 10b는 제2 실시예에서 예측 파라미터의 계산을 나타내는 제2 설명도이다.
도 11은 제2 실시예에서 예측 파라미터를 계산하기 위한 기준 화소를 나타내는 설명도이다.
도 12는 실시예에 따른 인코딩을 위한 개략적 프로세스 흐름례를 도시하는 플로차트이다.
도 13은 제1 실시예에서의 코딩에서 색상 범위 변환 프로세스의 흐름례를 도시하는 플로차트이다.
도 14는 도 13에 도시된 파라미터 정보 생성 프로세스의 흐름례를 도시하는 플로차트이다.
도 15는 제2 실시예에서의 인코딩을 위한 색상 범위 변환 프로세스의 흐름례를 도시하는 플로차트이다.
도 16은 도 5에 도시된 EL 디코딩부의 구성례를 도시하는 블록도이다.
도 17은 제1 실시예에 따른 색상 범위 변환부의 구성례를 도시하는 블록도이다.
도 18은 제2 실시예에 따른 색상 범위 변환부의 구성례를 도시하는 블록도이다.
도 19는 실시예에 따른 디코딩 프로세스의 개략적 흐름례를 도시하는 플로차트이다.
도 20은 제1 실시예에 따른 디코딩을 위한 색상 범위 변환 프로세스의 흐름례를 도시하는 플로차트이다.
도 21은 도 20에 도시된 예측 파라미터 생성 프로세스의 흐름례를 도시하는 플로차트이다.
도 22는 제2 실시예에 따른 디코딩을 위한 색상 범위 변환 프로세스의 흐름례를 나타내는 플로차트이다.
도 23은 텔레비전 장치의 개략적 구성례를 나타내는 블록도이다.
도 24는 이동 전화의 개략적 구성례를 나타내는 블록도이다.
도 25는 기록/재생 장치의 개략적 구성례를 나타내는 블록도이다.
도 26은 촬상 장치의 개략적 구성례를 나타내는 블록도이다.
도 27은 스케일링가능한 비디오 코딩의 제1 이용례를 나타내는 설명도이다.
도 28은 스케일링가능한 비디오 코딩의 제2 이용례를 나타내는 설명도이다.
도 29는 스케일링가능한 비디오 코딩의 제3 이용례를 나타내는 설명도이다.
도 30은 멀티뷰 코덱을 나타내는 설명도이다.
도 31은 멀티뷰 코덱에 대한 이미지 인코딩 장치의 개략적 구성을 도시하는 블록도이다.
도 32는 멀티뷰 코덱에 대한 이미지 디코딩 장치의 개략적 구성을 도시하는 블록도이다.
도 33은 비디오 세트의 개략적 구성례를 나타내는 블록도이다.
도 34는 비디오 프로세서의 개략적 구성례를 나타내는 블록도이다.
도 35는 비디오 프로세서의 또 다른 개략적 구성례를 나타내는 블록도이다.
이하에서부터, 본 발명의 바람직한 실시예들이 첨부된 도면들을 참조하여 상세히 설명될 것이다. 본 상세한 설명 및 도면에서, 실질적으로 동일한 기능을 갖는 요소와 구조는 동일한 참조 부호로 표기되고, 반복되는 설명은 생략된다는 점에 유의한다.
이제, 설명은 다음과 같은 순서로 이루어질 것이다.
1. 개요
1-1. 스케일링가능한 비디오 코딩
1-2. 색상 범위 스케일링가능성
1-3. 인코더의 기본 구성례
1-4. 디코더의 기본 구성례
2. 실시예에서 EL 인코딩부의 구성례
2-1. 전체 구성
2-2. 색상 범위 변환부의 제1 실시예
2-3. 색상 범위 변환부의 제2 실시예
2-4. 색상 범위 변환부의 변형례
3. 실시예에 따른 인코딩 프로세스의 흐름
3-1. 개략적 흐름
3-2. 색상 범위 변환 프로세스(제1 실시예)
3-3. 색상 범위 변환 프로세스(제2 실시예)
4. 실시예에서 EL 디코딩부의 구성례
4-1. 전체 구성
4-2. 색상 범위 변환부의 제1 실시예
4-3. 색상 범위 변환부의 제2 실시예
4-4. 색상 범위 변환부의 변형례
5. 실시예에서 디코딩에서의 프로세스 흐름
5-1. 개략적 흐름
5-2. 색상 범위 변환 프로세스(제1 실시예)
5-3. 색상 범위 변환 프로세스(제2 실시예)
6. 응용
6-1. 다양한 상품에의 응용
6-2. 스케일링가능한 비디오 코딩의 다양한 이용
6-3. 다른 코덱에의 응용
6-4. 다양한 탑재 수준
7. 결론
<개요>
[1-1. 스케일링가능한 비디오 코딩]
각각이 일련의 이미지를 포함하는 복수의 층들이 스케일링가능한 비디오 코딩으로 인코딩된다. 베이스 층(base layer)들은 인코딩될 첫 번째이고, 가장 개략적인 이미지를 나타낸다. 베이스 층들의 인코딩된 스트림은 다른 층들의 인코딩된 스트림의 디코딩없이 독립적으로 디코딩될 수 있다. 베이스층 이외의 층들은 더 정교한 이미지를 나타내는 강화층(enhancement layer)이라 부른다. 강화층의 인코딩된 스트림은 베이스층의 인코딩된 스트림에 포함된 정보를 이용하여 인코딩된다. 따라서, 강화층의 이미지를 재생하기 위해, 베이스층 및 강화층 양쪽 모두의 인코딩된 스트림이 디코딩된다. 2개 이상의 임의의 개수의 층들이 스케일링가능한 비디오 코딩에서 취급될 수 있다. 3개 이상의 층이 인코딩될 때, 최하위층은 베이스층이고 나머지 층은 강화층이다. 상위 강화층의 인코딩된 스트림은 하위 강화층의 인코딩된 스트림 또는 베이스층의 인코딩된 스트림에 포함된 정보를 이용하여 인코딩 및 디코딩될 수 있다.
도 1은 스케일링가능한 비디오 코딩이 실시되는 3개의 층 L1, L2, 및 L3을 나타낸다. 층 L1은 베이스층인 반면, 층 L2 및 L3은 강화층이다. 층 L1에 대한 층 L2의 공간 해상도의 비율은 2:1이다. 층 L1에 대한 층 L3의 공간 해상도의 비율은 4:1이다. 이들 해상도 비율은 예일 뿐이다. 1.5:1 등의 비정수 해상도 비율도 역시 이용가능하다. 층 L1의 블록 B1은 베이스층의 화상에서의 코딩 프로세스에 대한 처리 유닛이다. 층 L2의 블록 B2는 블록 B1과 공통되는 장면을 보여주는 강화층의 화상에서의 코딩 프로세스에 대한 처리 유닛이다. 블록 B2는 층 L1의 블록 B1에 대응한다. 층 L3의 블록 B3은 블록 B1 및 B2와 공통되는 장면을 보여주는 상위 강화층의 화상에서의 코딩 프로세스에 대한 처리 유닛이다. 블록 B3은 층 L1의 블록 B1과 층 L2의 블록 B2에 대응한다.
[1-2. 색상 범위 스케일링가능성]
도 1에 예시된 층 구조에서, 이미지들의 텍스쳐는 공통의 장면이 투사되는 층들 사이에서 유사하다. 즉, 층 L1의 블록 B1, 층 L2의 블록 B2, 및 층 L3의 블록 B3의 텍스쳐들은 유사하다. 따라서, 예를 들어, 블록 B2 또는 B3의 화소들이 기준 블록으로서 블록 B1을 이용하여 예측되거나 블록 B3의 화소들이 기준 블록으로서 블록 B2를 이용하여 예측될 때, 높은 예측 정밀도의 가능성이 얻어진다. 층들간의 이러한 예측은 층간 예측이라 부른다. 비특허 문헌 2는 층간 예측에 대한 수 개의 방법을 제안한다. 이 방법들에서, 베이스층의 디코딩된 이미지(재구성된 이미지)가 기준 이미지로서 이용되어 인트라 BL 예측에서 강화층의 디코딩된 이미지를 예측한다. 인트라 잔차 예측(intra residual prediction) 및 인터 잔차 예측(inter residual prediction)에서, 베이스층의 예측 에러(잔차) 이미지는 강화층의 예측 에러 이미지를 예측하는 기준 이미지로서 이용된다.
여기서, 예를 들어, 층 L1의 이미지는 HD 텔레비전 이미지인 것으로 가정되고, 층 L2의 이미지는 UHD 텔레비전 이미지인 것으로 가정된다. 도 2는 BT.709 및 BT.2020로 표현된 색상 범위를 나타내는 설명도이다. 도 2를 참조하면, 3-차원 색상 공간이 미리결정된 제약 조건을 이용하여 2차원 평면으로 맵핑되는 색상 범위 그래프가 도시되어 있다. 그래프 내의 십자 마크는 백색이 맵핑되는 위치를 나타낸다. 그래프에서 점선은 BT.709로 표현되는 색상 범위를 나타낸다. 그래프에서 실선은 BT.2020으로 표현되는 색상 범위를 나타낸다. 그래프에서 점선은 인간의 시각에 의해 식별될 수 있는 색상 범위를 나타낸다. 도 2로부터 이해할 수 있는 바와 같이, BT.2020은 BT.709보다 큰 색상 범위를 나타낼 수 있다. 층 L1의 각 화소는 BT.709로 표현되고 층 L2의 각 화소는 BT.2020으로 표현될 때, 층간 예측시에 기준 이미지(층 L1의 이미지)에 관해 해상도 변환(즉, 업샘플링) 또는 색상 범위 변환이 수행된다. 일반적으로, 색상 범위 변환은, 3차원 화소 벡터를 3행 3열의 변환 행렬로 곱함으로써 수행된다. 비특허 문헌 3에서 설명된 바와 같이, BT.709와 BT.2020 사이의 관계는 각각의 색상 성분에 대해 독립된 선형 관계로 근사화될 수 있다. 따라서, 비특허 문헌 3은 색상 범위 변환에 필요한 계산 복잡성과 시간을 감소시키는 간소화된 방법을 제안한다.
도 3a는 비특허 문헌 3에 의해 제안된 색상 범위 예측에 대한 예측 모드를 나타내는 표이다. 도 3a를 참조하면, 예측 모드 번호는 "0", "1", 및 "2" 중 하나이고, 즉, 3개 종류의 예측 모드 후보가 있다. 예측 모드 번호 = "0"일 때, BT.2020의 화소값들 (Y2020, U2020, V2020)은, 다음과 같은 등식 (1) 내지 (3)에서와 같이, 비트 시프트(비트 증가)에 의해 색상 성분의 BT.709의 화소값들 (Y709, U709, V709)로부터 예측된다. 이러한 예측 모드는 본 명세서에서는 비트 시프트 모드(bit shift mode)라 부른다.
Figure pct00001
예측 모드 번호 = "1" 또는 "2"일 때, BT.2020의 화소값은, 다음과 같은 등식 (4) 내지 (6)에서와 같이, 이득 gi와 오프셋 oi(i=1, 2, 3)를 이용한 선형 변환에 의해, 색상 성분의 BT.709의 화소값들로부터 예측된다.
Figure pct00002
예측 모드 번호 = "1"일 때, 이득 및 오프셋의 값들로서 미리 명시된 고정된 값이 이용된다. 예측 모드 번호 ="1"인 예측 모드는 본 명세서에서 고정된 파라미터 모드라 부른다. 예측 모드 번호 = "2"일 때, 이득 및 오프셋의 값들로서 적응적으로 지정된 가변 값들이 이용된다. 예측 모드 번호 ="2"인 예측 모드는 본 명세서에서 적응적 파라미터 모드라 부른다. 적응적 파라미터 모드가 선택되면, 6개 종류의 예측 파라미터(3개의 이득 및 3개의 오프셋)가 예측 파라미터로서 추가로 인코딩된다.
도 3b 및 도 3c는 비특허 문헌 3에서 제안된 예측 파라미터들의 신택스(syntax)를 나타내는 설명도이다. 여기서, 도 3b의 2번째 라인의 "pps_extension_flag"는, 화상 파라미터 세트(PPS; Picture Parameter Set)가 색상 범위 예측을 위해 확장된 신택스를 포함하는지를 나타내는 플래그이다. 또한, 도 3b의 5번째 라인의 "color_pred_data()"는 색상 범위 스케일링가능성에 대한 신택스의 함수이며, 그 내용은 도 3c에 도시되어 있다. 여기서, 도 3c의 1번째 라인의 "color_prediction_model"는 선택된 예측 모드를 나타내는 파라미터이며 도 3a에 예시된 "0", "1", 및 "2" 중에서 하나의 값을 취한다. 적응적 파라미터 모드("color_prediction_model = 2")의 경우, 3번째 라인의 이득의 분모에 대응하는 비트수("numFractionBits"), 5번째 라인의 i번째 색상 성분에 대한 이득의 분자("color_prediction_gain[I]"), 및 6번째 라인의 i번째 색상 성분에 대한 오프셋("color_prediction_offset[I]")이 지정된다.
3개의 예측 모드 중에서, 적응적 파라미터 모드는 가장 높은 예측 정확도가 예상될 수 있는 모드이다. 그러나, 적응적 파라미터 모드에서, 각각의 색상 성분의 이득과 오프셋이 각 화상에 대해 인코딩된다. 따라서, 이미지의 소정 영역에서 높은 정확도의 층간 예측이 구현될 수 있다. 반면, 층간 예측의 정확도는 일부 경우에 다른 영역들에서는 낮다. 따라서, 이하에서 설명되는 실시예에서, 층간 예측의 정확도에서의 편차를 억제하기 위하여 이미지에 포함된 각각의 블록에 대해 적절한 예측 파라미터의 설정이 제안된다.
[1-3. 인코더의 기본 구성례]
도 4는 스케일링가능한 비디오 코딩을 지원하는 실시예에 따른 이미지 인코딩 장치(10)의 개략적 구성을 도시하는 블록도이다. 도 4를 참조하면, 이미지 인코딩 장치(10)는, 베이스층(BL) 인코딩부(1a), 강화층(EL) 인코딩부(1b), 공통 메모리(2), 및 멀티플렉싱부(3)를 포함한다.
BL 인코딩부(1a)는 베이스층 이미지를 인코딩하여 베이스층의 인코딩된 스트림을 생성한다. EL 인코딩부(1b)는 강화층 이미지를 인코딩하여 강화층의 인코딩된 스트림을 생성한다. 공통 메모리(2)는 층들간에 공통으로 이용되는 정보를 저장한다. 멀티플렉싱부(3)는 BL 인코딩부(1a)에 의해 생성된 베이스층의 인코딩된 스트림과 EL 인코딩부(1b)에 의해 생성된 적어도 하나의 강화층의 인코딩된 스트림을 멀티플렉싱하여 다층 멀티플렉싱된 스트림을 생성한다.
[1-4. 디코더의 기본 구성례]
도 5는 스케일링가능한 비디오 코딩을 지원하는 실시예에 따른 이미지 디코딩 장치(60)의 개략적 구성을 도시하는 블록도이다. 도 5를 참조하면, 이미지 디코딩 장치(60)는, 디멀티플렉싱부(5), 베이스층(BL) 디코딩부(6a), 강화층(EL) 디코딩부(6b), 및 공통 메모리(7)를 포함한다.
디멀티플렉싱부(5)는, 다층 멀티플렉싱된 스트림을 베이스층의 인코딩된 스트림과 적어도 하나의 강화층의 인코딩된 스트림으로 디멀티플렉싱한다. BL 디코딩부(6a)는 베이스층의 인코딩된 스트림으로부터 베이스층 이미지를 디코딩한다. EL 디코딩부(6b)는 강화층의 인코딩된 스트림으로부터 강화층 이미지를 디코딩한다. 공통 메모리(7)는 층들간에 공통으로 이용되는 정보를 저장한다.
도 4에 나타낸 이미지 인코딩 장치(10)에서, 베이스층을 인코딩하는 BL 인코딩부(1a)의 구성과 강화층을 인코딩하는 EL 인코딩부(1b)의 구성은 서로 유사하다. BL 인코딩부(1a)에 의해 생성되거나 취득된 일부 파라미터 및 이미지는 공통 메모리(2)를 이용하여 버퍼링되고 EL 인코딩부(1b)에 의해 재사용될 수 있다. 다음 절에서, EL 인코딩부(1b)의 이러한 구성이 상세히 설명될 것이다.
유사하게, 도 5에 나타낸 이미지 디코딩 장치(60)에서, 베이스층을 디코딩하는 BL 디코딩부(6a)의 구성과 강화층을 디코딩하는 EL 디코딩부(6b)의 구성은 서로 유사하다. BL 디코딩부(6a)에 의해 생성되거나 취득된 일부 파라미터 및 이미지는 공통 메모리(7)를 이용하여 버퍼링되고 EL 디코딩부(6b)에 의해 재사용될 수 있다. 나아가, 다음 절에서, EL 디코딩부(6b)의 이러한 구성이 상세히 설명될 것이다.
<2. 실시예에서 EL 인코딩부의 구성례>
[2-1. 전체 구성]
도 6은 도 4에 나타낸 EL 인코딩부(1b)의 구성의 예를 도시하는 블록도이다. 도 6을 참조하면, EL 인코딩부(1b)는, 분류 버퍼(11), 감산부(13), 직교 변환부(14), 양자화부(15), 무손실 인코딩부(16), 누적 버퍼(17), 레이트 제어부(18), 역 양자화부(21), 역 직교 변환부(22), 가산부(23), 루프 필터(24), 프레임 메모리(25), 선택기(26 및 27), 인트라 예측부(30), 인터 예측부(35), 및 색상 범위 변환부(40)를 포함한다.
분류 버퍼(11)는 일련의 이미지 데이터에 포함된 이미지를 분류한다. 인코딩 프로세스에 따른 GOP(Group of Picture) 구조에 따라 이미지를 재정렬한 후에, 분류 버퍼(11)는, 분류된 이미지 데이터를 감산부(13), 인트라 예측부(30), 인터 예측부(35), 및 색상 범위 변환부(40)에 출력한다.
후술되는 분류 버퍼(11)로부터 입력된 이미지 데이터와 인트라 예측부(30) 또는 인터 예측부(35)에 의해 입력된 예측된 이미지 데이터는 감산부(13)에 공급된다. 감산부(13)는, 분류 버퍼(11)로부터 입력된 이미지 데이터와 예측된 이미지 데이터 사이의 차이인 예측 에러 데이터를 계산하고 계산된 예측 에러 데이터를 직교 변환부(14)에 출력한다.
직교 변환부(14)는 감산부(13)로부터 입력된 예측 에러 데이터에 관해 직교 변환을 수행한다. 직교 변환부(14)에 의해 수행되는 직교 변환은, 예를 들어, 이산 코사인 변환(DCT; discrete cosine transform)이거나 Karhunen-Loeve 변환일 수 있다. HEVC에서, 변환 유닛(TU)이라 불리는 각 블록에 대해 직교 변환이 수행된다. TU는 코딩 유닛(CU)을 분할함으로써 형성되는 블록이다. 직교 변환부(14)는 직교 변환 프로세스에 의해 취득된 변환 계수 데이터를 양자화부(15)에 출력한다.
양자화부(15)에는, 직교 변환부(14)로부터 입력된 변환 계수 데이터와 후술되는 레이트 제어부(18)로부터의 레이트 제어 신호가 공급된다. 양자화부(15)는 레이트 제어 신호에 따라 결정된 양자화 단계로 변환 계수 데이터를 양자화한다. 양자화부(15)는 양자화된 변환 계수 데이터(이하에서는 양자화된 데이터라 함)를 무손실 인코딩부(16)와 역 양자화부(21)에 출력한다.
무손실 인코딩부(16)는 양자화부(15)로부터 입력된 양자화된 데이터에 관해 무손실 인코딩 프로세스를 수행하여 강화층의 인코딩된 스트림을 생성한다. 무손실 인코딩부(16)는, 인코딩된 스트림이 디코딩될 때 참조되는 다양한 파라미터를 인코딩하고 인코딩된 파라미터를 인코딩된 스트림의 헤더 영역에 삽입한다. 무손실 인코딩부(16)에 의해 인코딩되는 파라미터는 후술되는 인트라 예측에 관한 정보와 인터 예측에 관한 정보를 포함할 수 있다. 색상 범위 변환에 관련된 정보가 추가로 인코딩될 수 있다. 그 다음, 무손실 인코딩부(16)는 생성된 인코딩된 스트림을 누적 버퍼(17)에 출력한다.
누적 버퍼(17)는 반도체 메모리 등의 저장 매체를 이용하여 무손실 인코딩부(16)로부터 입력된 인코딩된 스트림을 임시로 누적한다. 그 다음, 누적 버퍼(17)는, 전송 경로의 대역에 따른 레이트로, 누적된 인코딩된 스트림을 전송부(미도시)(예를 들어, 통신 인터페이스 또는 주변 장치들에 대한 인터페이스)에 출력한다.
레이트 제어부(18)는 누적 버퍼(17)의 자유 공간(free space)을 모니터링한다. 그 다음, 레이트 제어부(18)는 누적 버퍼(17) 상의 자유 공간에 따라 레이트 제어 신호를 생성하고 생성된 레이트 제어 신호를 양자화부(15)에 출력한다. 예를 들어, 누적 버퍼(17) 상에 많은 자유 공간이 있지 않다면, 레이트 제어부(18)는 양자화된 데이터의 비트 레이트를 저하시키기 위한 레이트 제어 신호를 생성한다. 또한, 예를 들어, 누적 버퍼(17) 상의 자유 공간이 충분히 크다면, 레이트 제어부(18)는 양자화된 데이터의 비트 레이트를 증가시키기 위한 레이트 제어 신호를 생성한다.
역 양자화부(21), 역 직교 변환부(22), 및 가산부(23)는 로컬 디코더를 형성한다. 양자화부(15)에 의해 이용되는 양자화 단계에서, 역 양자화부(21)는 강화층의 양자화된 데이터에 관해 역 양자화를 수행하여 변환 계수 데이터를 복구한다. 그 다음, 역 양자화부(21)는 복구된 변환 계수 데이터를 역 직교 변환부(22)에 출력한다.
역 직교 변환부(22)는 역 양자화부(21)로부터 입력된 변환 계수 데이터에 관해 역 직교 변환 프로세스를 수행하여 예측 에러 데이터를 복구한다. 직교 변환에서와 같이, 역 직교 변환은 각 TU에 대해 수행된다. 그 다음, 역 직교 변환부(22)는 복구된 예측 에러 데이터를 가산부(23)에 출력한다.
가산부(23)는 역 직교 변환부(22)로부터 입력된 복구된 예측 에러 데이터와 인트라 예측부(30) 또는 인터 예측부(35)로부터 입력된 예측된 이미지 데이터를 가산하여 디코딩된 이미지 데이터(강화층의 재구성된 이미지)를 생성한다. 그 다음, 가산부(23)는 생성된 디코딩된 이미지 데이터를 루프 필터(24)와 프레임 메모리(25)에 출력한다.
루프 필터(24)는 이미지 품질을 개선하기 위한 목적의 필터 그룹을 포함한다. 디블록 필터(DF; deblock filter)는, 이미지가 인코딩될 때 발생하는 블록 아티팩트를 감소시키는 필터이다. 샘플 적응적 오프셋(SAO; sample adaptive offset) 필터는 적응적으로 결정된 오프셋 값을 각 화소값에 추가하는 필터이다. 적응적 루프 필터(ALF; adaptive loop filter)는 SAO가 실시되는 이미지와 원래의 이미지 사이의 에러를 최소화하는 필터이다. 루프 필터(24)는 가산부(23)로부터 입력된 디코딩된 이미지 데이터를 필터링하고 필터링된 디코딩된 이미지 데이터를 프레임 메모리(25)에 출력한다.
프레임 메모리(25)는 가산부(23)로부터 입력된 강화층의 디코딩된 이미지 데이터, 루프 필터(24)로부터 입력된 강화층의 필터링된 디코딩된 이미지 데이터, 및 색상 범위 변환부(40)로부터 입력된 베이스층의 기준 이미지 데이터를 저장 매체를 이용하여 저장한다.
선택기(26)는, 프레임 메모리(25)로부터, 아직 필터링되지 않았고 인트라 예측에 이용되는 디코딩된 이미지 데이터를 판독하여, 판독된 디코딩된 이미지 데이터를 인트라 예측부(30)에 기준 이미지 데이터로서 공급한다. 선택기(26)는 또한, 프레임 메모리(25)로부터, 인터 예측에 이용될 필터링된 디코딩된 이미지 데이터를 판독하여, 판독된 디코딩된 이미지 데이터를 인터 예측부(35)에 기준 이미지 데이터로서 공급한다. 층간 예측이 인트라 예측부(30) 또는 인터 예측부(35)에 의해 수행될 때, 선택기(26)는 베이스층의 기준 이미지 데이터를 인트라 예측부(30) 또는 인터 예측부(35)에 공급한다.
선택기(27)는, 인트라 예측 모드에서 인트라 예측부(30)로부터 출력된 인트라 예측의 결과인 예측된 이미지 데이터를 감산부(13)에 출력하고, 인트라 예측에 관한 정보를 무손실 인코딩부(16)에 출력한다. 선택기(27)는 또한, 인터 예측 모드에서 인터 예측부(35)로부터 출력된 인터 예측의 결과인 예측된 이미지 데이터를 감산부(13)에 출력하고, 인터 예측에 관한 정보를 무손실 인코딩부(16)에 출력한다. 선택기(27)는 비용 함수값의 크기에 따라 인트라 예측 모드와 인터 예측 모드를 스위칭한다.
인트라 예측부(30)는, 강화층의 원래의 이미지 데이터와 디코딩된 이미지 데이터에 기초하여 HEVC의 각각의 예측 유닛(PU)에 관해 인트라 예측 프로세스를 수행한다. 예를 들어, 인트라 예측부(30)는 미리결정된 비용 함수를 이용하여 설정된 예측 모드에서 각 후보 모드에 따라 예측 결과를 평가한다. 그 다음, 인트라 예측부(30)는 비용 함수값이 최소인 예측 모드, 즉, 압축비가 가장 높은 예측 모드를, 최적의 예측 모드로서 선택한다. 인트라 예측부(30)는 최적의 예측 모드에 따라 강화층의 예측된 이미지 데이터를 생성한다. 인트라 예측부(30)는, 강화층에서 설정된 예측 모드에서 층간 예측의 일종인 인트라 BL 예측을 포함할 수 있다. 인트라 BL 예측에서, 강화층의 예측 타겟 블록에 대응하는 베이스층 내의 대응하는 블록이 기준 블록으로서 이용되고, 예측된 이미지는 기준 블록의 디코딩된 이미지에 기초하여 생성된다. 인트라 예측부(30)는 층간 예측의 일종인 인트라 잔차 예측을 포함할 수 있다. 인트라 잔차 예측에서, 인트라 예측의 예측된 에러는 베이스층 내의 대응하는 블록인 기준 블록의 예측 에러 이미지에 기초하여 예측되고, 예측된 에러가 예측되고 가산되는 예측된 이미지가 생성된다. 인트라 예측부(30)는, 선택된 최적의 예측 모드를 나타내는 예측 모드 정보, 비용 함수값, 및 예측된 이미지 데이터를 포함하는 인트라 예측에 관한 정보를 선택기(27)에 출력한다.
인터 예측부(35)는, 강화층의 원래의 이미지 데이터와 디코딩된 이미지 데이터에 기초하여 HEVC의 각각의 예측 유닛(PU)에 관해 인터 예측 프로세스를 수행한다. 예를 들어, 인터 예측부(35)는 미리결정된 비용 함수를 이용하여 설정된 예측 모드에서 각 후보 모드에 따라 예측 결과를 평가한다. 그 다음, 인터 예측부(35)는 비용 함수값이 최소인 예측 모드, 즉, 압축비가 가장 높은 예측 모드를, 최적의 예측 모드로서 선택한다. 인터 예측부(35)는 최적의 예측 모드에 따라 강화층의 예측된 이미지 데이터를 생성한다. 인터 예측부(35)는 층간 예측의 일종인 인터 잔차 예측을 포함할 수 있다. 인터 잔차 예측에서, 인트라 예측의 예측된 에러는 베이스층 내의 대응하는 블록인 기준 블록의 예측 에러 이미지에 기초하여 예측되고, 예측된 에러가 예측되고 가산되는 예측된 이미지가 생성된다. 인트라 예측부(35)는, 선택된 최적의 예측 모드를 나타내는 예측 모드 정보 및 움직임 정보, 비용 함수값, 및 예측된 이미지 데이터를 포함하는 인트라 예측에 관한 정보를 선택기(27)에 출력한다.
색상 범위 변환부(40)는, 베이스층과 강화층 사이의 해상도 비율에 따라 공통 메모리(2)에 버퍼링된 베이스층의 이미지(디코딩된 이미지 또는 예측 에러 이미지)를 업샘플링한다. 강화층의 이미지가 베이스층의 이미지와는 상이한 색상 범위를 가질 때, 색상 범위 변환부(40)는 베이스층의 업샘플링된 이미지의 색상 범위를 강화층의 이미지와 동일한 색상 범위로 변환한다. 실시예에서, 베이스층과 강화층의 색상 범위들 사이의 각 색상 성분에 대해 독립된 선형 관계의 가정하에, 색상 범위 변환부(40)는 베이스층의 이미지로부터 강화층의 이미지를 근사적으로 예측함으로써 색상 범위를 변환한다. 색상 범위 변환부(40)에 의해 그 색상 범위가 변환되는 예측된 이미지는 인트라 예측부(30) 또는 인터 예측부(35)에 의해 층간 예측에서 기준 이미지로서 이용되기 위해 프레임 메모리(25)에 저장될 수 있다. 즉, 강화층의 이미지는 색상 범위 변환부(40)에 의해 생성된 예측된 이미지를 이용하여 인코딩된다. 색상 범위 변환부(40)는 색상 범위 변환에 관하여 수 개의 정보를 생성한다. 색상 범위 변환부(40)에 의해 생성된 정보는, 예를 들어, 색상 범위 예측의 예측 모드를 나타내는 예측 모드 정보를 포함한다. 적응적 파라미터 모드가 예측 모드로서 선택되면, 색상 범위 변환부(40)에 의해 생성된 정보는 각각의 색상 성분에 대한 예측 파라미터(즉, 이득 및 오프셋)를 직접 지정하거나 예측 인코딩에 의해 예측 파라미터를 간접 지정하는 파라미터 정보를 포함한다. 실시예에서, 색상 범위 변환부(40)는 이미지에 포함된 각 블록에 예측 파라미터들을 설정하고 색상 범위 변환에 관한 정보로서 예측 모드 정보와 파라미터 정보를 포함하는 정보를 무손실 인코딩부(16)에 출력한다. 무손실 인코딩부(16)는 색상 범위 변환에 관한 정보를 인코딩한다.
[2-2. 색상 범위 변환부의 제1 실시예]
도 7은 제1 실시예에 따른 색상 범위 변환부의 구성례를 도시하는 블록도이다. 도 7을 참조하면, 색상 범위 변환부(40)는, 업샘플링부(41), 예측부(42), 파라미터 설정부(43), 파라미터 버퍼(44), 정보 생성부(45), 및 변환 제어부(46)를 포함한다.
(1) 업샘플링부
업샘플링부(41)는, 베이스층과 강화층 사이의 해상도 비율에 따라 공통 메모리(2)로부터 취득된 베이스층의 이미지를 업샘플링한다. 더 구체적으로는, 업샘플링부(41)는, 베이스층의 이미지를 미리 정의된 필터 계수로 필터링함으로써 해상도 비율에 따라 순차적으로 스캐닝된 보간된 화소들 각각의 보간된 화소값을 계산한다. 따라서, 베이스층의 이미지의 공간 해상도는 강화층의 해상도와 동일한 해상도까지 증가될 수 있다. 업샘플링부(41)는 업샘플링된 이미지를 예측부(42)와 파라미터 설정부(43)에 출력한다.
(2) 예측부
예측부(42)는, 예측 모드에 대한 후보들 각각에 따라, 업샘플링부(41)로부터 입력된 베이스층의 업샘플링된 이미지의 색상 범위를 강화층의 이미지의 색상 범위와 동일한 색상 범위로 변환한다. 예를 들어, 비트 시프트 모드에서, 예측부(42)는, 업샘플링이 실시되는 베이스층의 화소값을 수학식 (1) 내지 (3)에 따라 미리결정된 비트 시프트 양 nshift만큼 좌측으로 시프트시킴으로써 예측된 화소값을 계산한다. 비트 시프트 양 nshift는, 예를 들어, HD 텔레비전 이미지가 UHD 텔레비전 이미지로 변환될 때, 2 또는 4일 수 있다. 고정된 파라미터 모드에서, 예측부(42)는, 수학식 (4) 내지 (6)에 따라 업샘플링이 실시되는 베이스층의 화소값을 고정된 이득으로 곱하고 또한 고정된 오프셋을 가산함으로써 예측된 화소값을 계산한다. 적응적 파라미터 모드에서, 예측부(42)는, 고정된 이득 및 오프셋 대신에, 파라미터 설정부(43)에 의해 각각의 블록에 대해 적응적으로 설정된 예측 파라미터, 즉, 이득 및 오프셋을 이용하여 예측된 화소값을 계산한다. 그 다음, 예측부(42)는 예측 모드에 대한 후보들 각각에 대해 생성된 예측된 이미지를 변환 제어부(46)에 출력한다.
(3) 파라미터 설정부
파라미터 설정부(43)는, 강화층의 이미지에 포함된 각각의 블록에 대해, 베이스층의 색상 범위와는 상이한 색상 범위를 갖는 강화층의 이미지가 적응적 파라미터 모드에서 베이스층의 이미지로부터 예측될 때 이용되는, 예측 파라미터를 설정한다. 예측 파라미터는 수학식 (4) 내지 (6)에 나타낸 이득 gi와 오프셋 oi(i=1, 2, 3)를 포함한다. 여기서, 아래 첨자 i는 색상 성분의 3개 타입 각각을 의미한다. 이득 gi는 베이스층의 화소값에 곱하는 계수이다. 오프셋 oi는 베이스층의 화소값과 이득 gi의 곱에 가산되는 수치값이다. 예를 들어, 파라미터 설정부(43)는, 최소-제곱법의 관점에서 관심대상 블록의 각각의 색상 성분에 대해, 분류 버퍼(11)로부터 입력된 강화층의 원래 이미지에 가장 가까운 공통 메모리(2)로부터 취득된 베이스층의 이미지의 이득과 오프셋을 계산한다. 사실상, 최소-제곱법의 알고리즘은 룩업 테이블을 이용하는 방법에 따라 간단하게 구현될 수 있다. 파라미터 설정부(43)는 관심대상의 블록에서 계산된 이득과 오프셋을 설정한다. 여기서, 관심대상의 블록은 화상, 슬라이스, 또는 타일에서 래스터 길이(raster length)로 스캐닝된 일련의 최대 코딩 유닛(LCU) 각각일 수 있다. 대신에, 예측 파라미터는, 슬라이스, CU, 또는 PU 등의 상이한 타입의 블록들 각각에 대해 설정될 수 있다. 파라미터 설정부(43)는 파라미터 버퍼(44)가 관심대상의 블록에서 설정된 예측 파라미터를 버퍼링하게 한다.
(4) 파라미터 버퍼
파라미터 버퍼(44)는 파라미터 설정부(43)에 의해 각각의 블록에 대해 계산되는 적응적 파라미터 모드에 대한 예측 파라미터를 반도체 메모리 등의 저장 매체에 임시로 버퍼링한다. 파라미터 버퍼(44)에 의해 버퍼링되는 블록의 예측 파라미터는, 인접 블록(adjacent block) 또는 함께 위치한 블록(collocated block)의 예측 파라미터들이 예측 인코딩될 때 참조된다.
(5) 정보 생성부
정보 생성부(45)는 관심대상의 각 블록의 예측 파라미터를 설정하기 위하여 디코딩에 이용되는 파라미터 정보를 생성한다. 예를 들어, 정보 생성부(45)는 관심대상의 각 블록에 대한 하나 이상의 기준 블록을 선택하고 선택된 기준 블록에서 설정된 예측 파라미터로부터 관심대상의 블록의 예측 파라미터의 예측된 값을 결정한다. 정보 생성부(45)는, 관심대상의 블록에서 설정된 예측 파라미터의 값으로부터 예측된 값을 감산함으로써 예측 파라미터들의 차이 값들을 계산한다. 정보 생성부(45)는, 어느 기준 블록이 예측 파라미터를 예측하는데 이용되는지를 나타내는 기준 블록 정보와 관심대상의 블록에 관한 파라미터 정보로서 예측 파라미터들의 차이 값들을 나타내는 차이 정보를 생성한다. 정보 생성부(45)에 의해 생성된 파라미터 정보는 변환 제어부(46)에 출력된다.
예측 파라미터의 예측 인코딩을 위한 기준 블록에 대한 후보는 관심대상 블록에 인접한 상부 인접 블록 및 좌측 인접 블록을 포함할 수 있다. 기준 블록에 대한 후보는 인터 예측의 (관심대상 블록의) 기준 이미지에서 함께 위치한 블록을 포함할 수 있다. 기준 블록의 예측 파라미터로부터 결정된 관심대상 블록의 예측 값은 임의의 하나의 기준 블록의 예측 파라미터의 값과 동일할 수 있다. 대신에, 예측된 값은 2개 이상의 기준 블록의 예측 파라미터의 평균값일 수도 있다. 어떠한 하나의 인접 블록도 이용가능하지 않으면, 예를 들어, 관심대상의 블록이 화상, 슬라이스, 또는 타일의 끝에 위치해 있으면, 이용가능하지 않은 인접 블록이 기준 블록에 대한 후보로부터 제외된다. 이용가능한 기준 블록이 존재하지 않을 때, 정보 생성부(45)는, 도 3c를 참조하여 설명된 신택스를 이용하여 관심대상 블록에 대한 예측 파라미터의 값을 직접 지정하는 파라미터 정보를 생성할 수 있다. 이용가능한 기준 블록이 존재할 때에도, 정보 생성부(45)는 어떠한 기준 블록도 예측 파라미터를 예측하는데 이용되지 않는다는 것을 나타내는 기준 블록 정보를 생성할 수 있고 관심대상 블록에 대한 예측 파라미터의 값을 직접 지정하는 파라미터 정보를 생성할 수 있다. 각 블록의 예측 파라미터의 값은 미리 정의되거나 시퀀스, 화상 등의 단위로 설정될 수 있는 디폴트 값으로부터의 차이로서 지정될 수 있다.
도 8a는 제1 실시예에서 인코딩될 수 있는 파라미터 정보의 제1 예를 나타내는 설명도이다. 도 8a에서, 이미지 Im1은 강화층의 이미지이다. 블록 B10은 이미지 Im1 내의 관심대상 블록이다. 블록 B11은 블록 B10의 좌측 인접 블록이다. 블록 B12는 블록 B10의 상부 인접 블록이다. 예를 들어, 기준 블록 정보는 플래그 merge_left_flag를 포함한다. 플래그 merge_left_flag가 참(=1)일 때, 관심대상 블록 B10의 이득 G10 및 오프셋 O10의 예측된 값들은 좌측 인접 블록 B11의 이득 G11 및 오프셋 O11의 값과 동일하다. 관심대상 블록 B10의 이득 G10은 예측된 값 G11 및 차이값 dG10의 합이다. 관심대상 블록 B10의 오프셋 O10은 예측된 값 O11 및 차이값 dO10의 합이다. 이 경우에, 후술되는 플래그 merge_top_flag는 인코딩되지 않을 수도 있다.
도 8b는 제1 실시예에서 인코딩될 수 있는 파라미터 정보의 제2 예를 나타내는 설명도이다. 도 8b에서, 강화층의 이미지 Im1도 역시 관심대상의 블록 B10과 인접 블록들 B11 및 B12를 포함한다. 예를 들어, 기준 블록 정보는 플래그 merge_top_flag를 포함한다. 플래그 merge_top_flag가 참(=1)일 때, 관심대상 블록 B10의 이득 G10 및 오프셋 O10의 예측된 값들은 상부 인접 블록 B12의 이득 G12 및 오프셋 O12의 값과 동일하다. 관심대상 블록 B10의 이득 G10은 예측된 값 G12 및 차이값 dG10의 합이다. 관심대상 블록 B10의 오프셋 O10은 예측된 값 O12 및 차이값 dO10의 합이다. 이 경우에, 전술된 플래그 merge_left_flag는 인코딩되지 않을 수도 있다.
도 8c는 제1 실시예에서 인코딩될 수 있는 파라미터 정보의 제3 예를 나타내는 설명도이다. 도 8c에서, 강화층의 이미지 Im1도 역시 관심대상의 블록 B10과 인접 블록들 B11 및 B12를 포함한다. 예를 들어, 기준 블록 정보는 플래그 merge_left_flag와 플래그 merge_top_flag를 포함한다. 플래그들이 모두 거짓(=0)이면, 관심대상 블록 B10의 이득 G10과 오프셋 O10의 값들은 기준 블록의 설정으로부터 예측되지 않는다. 대신에, (예를 들어, 도 3c를 참조하여 설명된 신택스로) 관심대상의 블록 B10의 이득 G10과 오프셋 O10의 값을 직접 지정하는 파라미터 정보가 생성되고 인코딩될 수 있다.
도 8d는 제1 실시예에서 인코딩될 수 있는 파라미터 정보의 제4 예를 나타내는 설명도이다. 도 8d에서, 강화층의 이미지 Im1도 역시 관심대상의 블록 B10과 인접 블록들 B11 및 B12를 포함한다. 이미지 Im1ref는 관심대상의 이미지 Im1의 인터 예측에서의 기준 이미지이다. 블록 Bcol은 관심대상 블록 B10의 함께 위치한 블록이다. 예를 들어, 기준 블록 정보는, 플래그 merge_left_flag, 플래그 merge_top_flag, 및 플래그 merge_col_flag를 포함한다. 플래그 merge_col_flag가 참(=1)일 때, 관심대상 블록 B10의 이득 G10 및 오프셋 O10의 예측된 값들은 함께 위치한 블록 Bcol의 이득 Gcol 및 오프셋 Ocol의 값과 동일하다. 관심대상 블록 B10의 이득 G10은 예측된 값 Gcol 및 차이값 dG10의 합이다. 관심대상 블록 B10의 오프셋 O10은 예측된 값 Ocol 및 차이값 dO10의 합이다.
(6) 변환 제어부
인코딩 효율의 관점에서, 변환 제어부(46)는, 예측부(42)로부터 입력된 예측 모드의 복수의 후보의 예측된 이미지에 관련된 정보에 기초하여 최적의 예측 모드를 선택한다. 변환 제어부(46)가 비트 시프트 모드 또는 고정된 파라미터 모드를 선택할 때, 변환 제어부(46)는 선택된 모드를 나타내는 예측 모드 정보를 무손실 인코딩부(16)에 출력하여 대응하는 예측된 이미지를 프레임 메모리(25)에 저장한다. 예측 모드는 각각의 블록에 대해 선택되거나 화상, 슬라이스, 타일 등의 유닛보다 큰 유닛으로 선택될 수 있다. 변환 제어부(46)가 적응적 파라미터 모드를 선택하면, 변환 제어부(46)는 예측 모드 정보와 각각의 블록에서 설정될 예측 파라미터를 지정하는 파라미터 정보를 무손실 인코딩부(16)에 출력하여 대응하는 예측된 이미지를 프레임 메모리(25)에 저장한다. 전술된 바와 같이, 파라미터 정보는 예측 파라미터의 예측 인코딩이 실시되는 블록에 대한 기준 블록 정보와 차이 정보를 포함할 수 있다.
[2-3. 색상 범위 변환부의 제2 실시예]
제1 실시예에서, 적응적 파라미터 모드의 예측 파라미터는 강화층의 관심대상 블록의 원래의 이미지와 인코더측의 베이스층의 대응하는 블록의 디코딩된 이미지를 이용하여 계산된다. 그 다음, 계산된 예측 파라미터를 디코딩하기 위한 파라미터 정보가 인코더측으로부터 디코더측으로 전송된다. 반면, 제2 실시예에서, 인코더측과 디코더측 양쪽 모두는, 강화층의 관심대상 블록에 인접한 하나 이상의 인접 블록과 인접 블록에 대응하는 베이스층의 하나 이상의 대응하는 블록(즉, 관심대상 블록에 대응하는 대응 블록들에 인접한 하나 이상의 블록)의 디코딩된 이미지를 이용하여 적응적 파라미터 모드의 예측 파라미터를 계산한다. 예측 파라미터를 디코딩하기 위한 파라미터 정보는 전송되지 않는다.
도 9는 제2 실시예에 따른 색상 범위 변환부(40)의 구성례를 도시하는 블록도이다. 도 9를 참조하면, 색상 범위 변환부(40)는, 업샘플링부(41), 예측부(42), BL 기준 버퍼(47a), EL 기준 버퍼(47b), 파라미터 설정부(48), 및 변환 제어부(49)를 포함한다.
(1) BL 기준 버퍼
BL 기준 버퍼(47a)는, 공통 메모리(2)로부터, 적응적 파라미터 모드의 예측 파라미터가 계산될 때 참조되는 베이스층의 이미지를 취득하고, 취득된 기준 이미지를 반도체 메모리 등의 저장 매체에 임시로 버퍼링한다. 관심대상 블록의 예측 파라미터가 계산될 때 참조되는 베이스층의 화소들은, 예를 들어, 관심대상 블록의 상부 또는 좌측 인접 블록에 대응하는 대응 블록의 화소들일 수 있다.
(2) EL 기준 버퍼
EL 기준 버퍼(47b)는, 공통 메모리(25)로부터, 적응적 파라미터 모드의 예측 파라미터가 계산될 때 참조되는 강화층의 디코딩된 이미지(재구성된 이미지)를 취득하고, 취득된 기준 이미지를 반도체 메모리 등의 저장 매체에 임시로 버퍼링한다. 관심대상 블록의 예측 파라미터가 계산될 때 참조되는 강화층의 화소들은, 예를 들어, 관심대상 블록의 상부 또는 좌측 인접 블록의 화소들일 수 있다.
(3) 파라미터 설정부
파라미터 설정부(48)는, 관심대상 블록에 인접한 하나 이상의 인접 블록과 하나 이상의 인접 블록에 대응하는 베이스층의 하나 이상의 대응 블록의 화소값들을 이용하여 적응적 파라미터 모드에 대한 관심대상 블록의 예측 파라미터들의 최적의 값을 계산한다. 제1 실시예에서와 같이, 예측 파라미터는 수학식 (4) 내지 (6)에 도시된 이득 gi와 오프셋 oi(i=1, 2, 3)를 포함한다. 예를 들어, 파라미터 설정부(48)는, 관심대상 블록의 예측 파라미터의 최적의 값, 즉, 최소-제곱법의 관점에서 최적의 이득 및 오프셋을 계산할 수 있다. 파라미터 설정부(48)는 관심대상의 블록에서 계산된 이득과 오프셋을 설정한다. 전술된 바와 같이, 관심대상의 블록은, 화상, 슬라이스, 또는 타일에서 래스터 길이(raster length)로 스캐닝된 일련의 LCU 각각일 수 있다. 대신에, 예측 파라미터는, 슬라이스, CU, 또는 PU 등의 상이한 타입의 블록들 각각에 대해 설정될 수 있다.
예를 들어, 파라미터 설정부(48)는 강화층의 하나 이상의 인접 블록과 베이스층의 하나 이상의 대응하는 블록의 화소들 중 일부를 데시메이트하고 나머지 화소들의 화소값을 이용하여 예측 파라미터의 최적 값을 계산한다. 따라서, 예측 파라미터를 계산하고 처리 지연을 감소시키는데 이용되는 처리 자원(프로세서, 메모리 등)의 소비를 억제하는 것이 가능하다. 파라미터 설정부(48)는, 관심대상 블록의 크기에 따라 데시메이트된 기준 화소들의 비율을 변경할 수 있다(예를 들어, 블록 크기가 클수록 더 많은 기준 화소들을 데시메이트).
예측 파라미터들을 계산하기 위한 기준 화소들은, 강화층에서 상부 인접 블록의 하부 끝 라인과 좌측 인접 블록의 우측 끝 라인 상의 복수의 화소를 포함할 수 있다(베이스층에도 마찬가지가 적용된다). 어떠한 인접 블록도 이용가능하지 않을 때, 이용가능하지 않은 인접 블록은 참조되지 않는다. 이용가능한 인접 블록들이 존재하지 않을 때, 시퀀스, 화상 등의 유닛에서 미리결정되거나 설정될 수 있는 예측 파라미터의 디폴트 값이 관심대상 블록에서 설정될 수 있다. 대신에, 추가로 생성된 파라미터 정보에 의해 직접 지정된 값들이 관심대상 블록에서 예측 파라미터로서 설정될 수 있다.
도 10a는 제2 실시예에서 예측 파라미터의 계산을 나타내는 제1 설명도이다. 도 10a에서, 강화층의 이미지 Im2e는 블록들 B20e, B21e, 및 B22e를 포함한다. 블록 B20e는 관심대상 블록이다. 블록 B21e는 관심대상 블록 B20e의 좌측 인접 블록이다. 블록 B22e는 관심대상 블록 B20e의 상부 인접 블록이다. 베이스층의 이미지 Im2b는 블록들 B20b, B21b, 및 B22b를 포함한다. 블록 B20b는 관심대상 블록에 대응하는 대응 블록이다. 블록 B21b는 인접 블록 B21e에 대응하는 대응 블록이다. 블록 B22b는 인접 블록 B22e에 대응하는 대응 블록이다. 도면에서 대각선으로 빗금친 화소들은 기준 화소들이다. 관심대상 블록 B20e의 이득 G20e 및 오프셋 O20e는, 블록들 B21b 및 B22b의 기준 화소값들이 색상 범위 변환을 통해 블록들 B21e 및 B22e의 기준 화소값들에 가장 가깝도록 계산된다.
도 10b는 제2 실시예에서 예측 파라미터의 계산을 나타내는 제2 설명도이다. 도 10b를 참조하면, 강화층의 이미지 Im3e는 블록들 B30e, B31e, 및 B32e를 포함한다. 블록 B30e는 관심대상 블록이다. 블록 B31e는 관심대상 블록 B30e의 좌측 인접 블록이다. 블록 B32e는 관심대상 블록 B30e의 상부 인접 블록이다. 베이스층의 이미지 Im3b는 블록들 B30b, B31b, 및 B32b를 포함한다. 블록 B30b는 관심대상 블록에 대응하는 대응 블록이다. 블록 B31b는 인접 블록 B31e에 대응하는 대응 블록이다. 블록 B32b는 인접 블록 B32e에 대응하는 대응 블록이다. 도면에서 대각선으로 빗금친 화소들은 기준 화소들이다. 여기서, 매 2개의 기준 화소에 대해 하나의 기준 화소가 데시메이트된다. 관심대상 블록 B30e의 이득 G30e 및 오프셋 O30e는, 블록들 B31b 및 B32b의 데시메이트된 기준 화소들의 화소값들이 색상 범위 변환을 통해 블록들 B31e 및 B32e의 데시메이트된 기준 화소들의 화소값들에 가장 가깝도록 계산된다.
도 11은 제2 실시예에서 예측 파라미터를 계산하기 위한 기준 화소를 나타내는 설명도이다. 도 11을 참조하면, 강화층의 이미지 Im4e는 블록들 B40e, B41e, B42e, B43e, B45e, B46e, B47e, 및 B48e를 포함한다. 블록 B40e는 화상의 상부 좌측 끝에 위치해 있다. 따라서, 블록 B40e가 관심대상 블록일 때, 좌측 및 상부 인접 블록들 중 어느 것도 이용가능하지 않다. 따라서, 예측 파라미터의 디폴트 값이 블록 B40e에 대해 이용될 수 있다. 블록 B42e는 화상의 상부 끝에 위치해 있다. 따라서, 블록 B42e가 관심대상 블록일 때, 상부 인접 블록은 이용가능하지 않다. 따라서, 블록 B42e의 경우, 예측 파라미터의 값은 좌측 인접 블록 B41e를 이용하여 계산될 수 있다. 블록 B46e는 화상의 좌측 끝에 위치해 있다. 따라서, 블록 B46e가 관심대상 블록일 때, 좌측 인접 블록은 이용가능하지 않다. 따라서, 블록 B46e의 경우, 예측 파라미터의 값은 상부 인접 블록 B43e를 이용하여 계산될 수 있다. 블록 B48e는 화상의 어떠한 끝에도 위치해 있지 않다. 따라서, 블록 B48e가 관심대상 블록일 때, 좌측 및 상부 인접 블록들 양쪽 모두가 이용가능하다. 따라서, 블록 B48e의 경우, 예측 파라미터의 값은 좌측 인접 블록 B47e 및 상부 인접 블록 B45e를 이용하여 계산될 수 있다.
(4) 변환 제어부
변환 제어부(49)는, 예측부(42)로부터 입력된 예측 모드에 대한 복수의 후보의 예측된 이미지에 관련된 정보에 기초하여 인코딩 효율의 관점으로부터 최적 예측 모드를 선택한다. 변환 제어부(49)는 선택된 최적 예측 모드를 나타내는 예측 모드 정보를 무손실 인코딩부(16)에 출력하여 대응하는 예측된 이미지를 프레임 메모리(25)에 저장한다. 예측 모드는 각각의 블록에 대해 선택되거나 화상, 슬라이스, 타일 등의 단위보다 큰 단위로 선택될 수 있다. 변환 제어부(49)는 적응적 파라미터 모드에서 이용가능한 인접 블록을 갖지 않는 블록에 대한 예측 파라미터의 디폴트 값을 지정하는 파라미터 정보를 무손실 인코딩부(16)에 출력할 수 있다.
[2-4. 색상 범위 변환부의 변형례]
전술된 바와 같이, 적응적 파라미터 모드의 예측 파라미터는 이득과 오프셋을 포함한다. 그러나, 일부 경우에, 오프셋의 적응적 선택만이 이미지의 특성이나 색상 범위의 타입에 따라 색상 범위 변환의 정확도 개선에 주로 기여한다. 이러한 경우에, 각 블록에 대한 이득의 중복 인코딩은 인코딩 효율을 열화시킬 수 있다. 또한, 2개의 변수들, 이득과 오프셋의 최적의 값의 검색은 복잡한 구현이 필요하므로 처리 자원을 낭비할 수 있다. 따라서, 변형례로서, 색상 범위 변환부(40)는 복수의 블록(예를 들어, 화상, 슬라이스 또는 타일에서의 LCU들 모두) 전체에 걸쳐 고정된 이득값을 설정할 수 있고, 역으로 각 블록에 대해 가변적인 오프셋 값을 설정할 수 있다. 이득은 복수의 화상 또는 복수의 시퀀스에 걸쳐 고정될 수 있다. 고정된 이득값은 인코딩되거나 명세로서 미리 정의될 수 있다. 또한, 이득과 특정한 값(통상적으로, 2의 제곱)과 화소값의 곱은 화소값의 비트 시프트와 동등하다. 따라서, 변형례에 따른 색상 범위의 변환(예측)은 이하의 등식 (7) 내지 (9)에서와 같이 비트 시프트와 오프셋의 조합으로서 표현될 수 있다(이 경우에 고정된 이득은 22=4). 오프셋 oi(i=1, 2, 3)이 각각의 블록에 대해 설정될 수 있거나 화상 등의 단위보다 큰 단위로 설정될 수 있다.
Figure pct00003
<3. 실시예에 따른 인코딩 프로세스의 흐름>
[3-1. 개략적 흐름]
도 12는 실시예에 따른 인코딩 프로세스의 개략적 흐름례를 도시하는 플로차트이다. 본 개시의 기술에 직접 관련되지 않은 프로세스 단계들의 설명은 간소화를 위해 도면에서 생략된다.
도 12는, 우선, BL 인코딩부(1a)가 베이스층 상에서 인코딩 프로세스를 실행하고, 베이스층의 인코딩된 스트림을 생성하는 것(단계 S11)을 나타낸다.
공통 메모리(2)는 베이스층에 대한 인코딩 프로세스에서 생성된 베이스층의 이미지(디코딩된 이미지 및 예측 에러 이미지 중 하나 또는 양쪽 모두)를 버퍼링한다(단계 S12).
그 다음, EL 인코딩부(1b)는 강화층에 대한 인코딩 프로세스를 수행하여 강화층의 인코딩된 스트림을 생성한다(단계 S13). 여기서 수행된 강화층에 대한 인코딩 프로세스에서, 공통 메모리(2)에 의해 버퍼링된 베이스층의 이미지는 색상 범위 변환부(40)에 의해 업샘플링되어 색상 범위가 변환된다. 그러면, 색상 범위 변환 이후의 베이스층의 이미지가 층간 예측에서 기준 이미지로서 이용될 수 있다.
그 다음, 멀티플렉싱부(3)는 BL 인코딩부(1a)에 의해 생성된 베이스층의 인코딩된 스트림과 EL 인코딩부(1b)에 의해 생성된 강화층의 인코딩된 스트림을 멀티플렉싱하여 다층 멀티플렉싱된 스트림을 생성한다(단계 S14).
[3-2. 색상 범위 변환 프로세스(제1 실시예)]
(1) 색상 범위 변환 프로세스
도 13은 제1 실시예에서의 코딩에서 색상 범위 변환 프로세스의 흐름례를 도시하는 플로차트이다. 여기서 설명된 색상 범위 변환 프로세스는, 화상, 슬라이스 또는 타일에 포함된 블록들 각각에 관해 수행될 수 있다.
도 13을 참조하면, 업샘플링부(41)는, 먼저, 베이스층과 강화층 사이의 해상도 비율에 따라 공통 메모리(2)로부터 취득된 베이스층의 이미지를 업샘플링한다(단계 S20).
예측부(42)는 강화층의 관심대상 블록에 대응하는 베이스층의 대응하는 블록을 식별한다(단계 S21). 그 다음, 예측부(42)는 비트 시프트 모드에서 색상 범위 예측을 수행하여 비트 시프트 모드에서 관심대상 블록의 예측된 이미지를 생성한다(단계 S22). 예측부(42)는 고정된 파라미터 모드에서 색상 범위 예측을 수행하여 고정된 파라미터 모드에서 관심대상 블록의 예측된 이미지를 생성한다(단계 S23).
파라미터 설정부(43)는 관심대상 블록의 이미지와 베이스층의 대응하는 블록을 이용하여 관심대상 블록의 최적의 예측 파라미터를 계산하고 계산된 예측 파라미터를 관심대상 블록에서 설정한다(단계 S24). 그 다음, 예측부(42)는 파라미터 설정부(43)에 의해 설정된 예측 파라미터를 이용하여 적응적 파라미터 모드에서 색상 범위 예측을 수행하여 적응적 파라미터 모드에서 관심대상 블록의 예측된 이미지를 생성한다(단계 S29).
그 다음, 정보 생성부(45)는 파라미터 정보 생성 프로세스를 수행하여 관심대상 블록에서 설정된 예측 파라미터에 대한 파라미터 정보를 생성한다(단계 S30).
그 다음, 변환 제어부(46)는, 예를 들어, 예측부(42)로부터 입력된 예측 모드에 대한 복수의 후보의 예측된 이미지에 관련된 정보에 기초하여 비용을 비교함으로써, 최적 예측 모드를 결정한다(단계 S41). 그 다음, 변환 제어부(46)는, 색상 범위 변환이 실시되고 결정된 최적 예측 모드에 대응하는 예측 이미지를 프레임 메모리(25)에 저장한다(단계 S43). 무손실 인코딩부(16)는 색상 범위 변환에 관한 정보를 인코딩한다(단계 S45). 여기서 인코딩된 정보는 예측 모드 정보와 적응적 파라미터 모드에서 선택된 블록의 예측 파라미터에 대한 파라미터 정보를 포함할 수 있다.
그 후, 후속하는 미처리된 관심대상 블록이 있을 때, 프로세스는 단계(S20)로 되돌아가고 후속하는 관심대상 블록에 관해 전술된 프로세스들이 반복된다(단계 S47). 후속하는 미처리된 관심대상 블록이 없으면, 도 13에 도시된 색상 범위 변환 프로세스가 종료한다.
(2) 파라미터 정보 생성 프로세스
도 14는 도 13에 도시된 파라미터 정보 생성 프로세스의 흐름례를 도시하는 플로차트이다.
도 14를 참조하면, 정보 생성부(45)는 먼저 예측 파라미터의 예측을 위한 하나 이상의 기준 블록을 선택한다(단계 S31). 여기서 선택된 기준 블록은 좌측 및 상부 인접 블록들(또는 좌측 및 상부 인접 블록들에 추가하여 함께 위치한 블록들) 중 한 블록(예를 들어, 관심대상 블록의 예측 파라미터에 가장 가까운 예측 파라미터가 설정되는 블록)이거나 그 복수의 블록일 수 있다.
프로세스는 그 후 하나 이상의 기준 블록이 선택되는지에 따라 분기한다(단계 S32). 하나 이상의 기준 블록이 선택되면, 정보 생성부(45)는 선택된 기준 블록에서 설정된 예측 파라미터에 기초하여 관심대상 블록에 대한 예측된 값을 취득한다(단계 S33). 여기서 취득된 예측된 값은 임의의 기준 블록에서 설정된 예측 파라미터의 값과 동일하거나 복수의 기준 블록에서 설정된 예측 파라미터의 평균값일 수 있다. 그 다음, 정보 생성부(45)는 관심대상 블록의 예측 파라미터의 값과 취득된 예측된 값 사이의 차이값을 계산한다(단계 S34). 그 다음, 정보 생성부(45)는 선택된 기준 블록을 식별하는 기준 블록 정보를 생성한다(단계 S35). 그 다음, 정보 생성부(45)는 계산된 차이값을 명시하는 차이 정보를 생성한다(단계 S36).
역으로, 어떠한 하나의 기준 블록도 선택되지 않을 때, 정보 생성부(45)는 어떠한 기준 블록도 참조되지 않는다는 것을 나타내는 기준 블록 정보를 생성할 수 있다(단계 S37). 그 다음, 정보 생성부(45)는 관심대상 블록의 예측 파라미터를 직접 지정하는 정보를 생성한다(단계 S38).
제1 실시예에서, 이러한 프로세스의 결과로서 생성된 파라미터 정보는 정보 생성부(45)로부터 변환 제어부(46)로 출력된다. 그 다음, 적응적 파라미터 모드가 선택된 블록에 관하여 파라미터 정보가 인코딩된다.
[3-3. 색상 범위 변환 프로세스(제2 실시예)]
도 15는 제2 실시예에서의 인코딩을 위한 색상 범위 변환 프로세스의 흐름례를 도시하는 플로차트이다. 여기서 설명된 색상 범위 변환 프로세스는, 화상, 슬라이스 또는 타일에 포함된 블록들 각각에 관해 수행될 수 있다.
도 15를 참조하면, 업샘플링부(41)는, 먼저, 베이스층과 강화층 사이의 해상도 비율에 따라 공통 메모리(2)로부터 취득된 베이스층의 이미지를 업샘플링한다(단계 S20).
예측부(42)는 강화층의 관심대상 블록에 대응하는 베이스층의 대응하는 블록을 식별한다(단계 S21). 그 다음, 예측부(42)는 비트 시프트 모드에서 색상 범위 예측을 수행하여 비트 시프트 모드에서 관심대상 블록의 예측된 이미지를 생성한다(단계 S22). 예측부(42)는 고정된 파라미터 모드에서 색상 범위 예측을 수행하여 고정된 파라미터 모드에서 관심대상 블록의 예측된 이미지를 생성한다(단계 S23).
그 다음, 파라미터 설정부(48)는 관심대상 블록에 관하여 이용가능한 인접 블록이 있는지를 결정한다(단계 S25). 이용가능한 인접 블록이 있다면, 파라미터 설정부(48)는 강화층의 하나 이상의 인접 블록과 인접 블록에 대응하는 베이스층의 대응하는 블록들의 기준 화소들을 선택한다(단계 S26). 여기서, 파라미터 설정부(48)는 기준 블록의 기준 화소를 데시메이트할 수 있다. 그 다음, 파라미터 설정부(48)는, 선택된 기준 화소의 화소값을 이용하여 관심대상 블록의 최적 예측 파라미터를 계산하고 계산된 예측 파라미터를 관심대상 블록에서 설정한다(단계 S27). 역으로, 이용가능한 인접 블록이 없을 때, 파라미터 설정부(48)는 관심대상 블록에서 디폴트 예측 파라미터를 설정한다(단계 S28). 그 다음, 예측부(42)는 파라미터 설정부(48)에 의해 설정된 예측 파라미터를 이용하여 적응적 파라미터 모드에서 색상 범위 예측을 수행하여 적응적 파라미터 모드에서 관심대상 블록의 예측된 이미지를 생성한다(단계 S29).
그 다음, 변환 제어부(49)는, 예를 들어, 예측부(42)로부터 입력된 예측 모드에 대한 복수의 후보의 예측된 이미지에 관련된 정보에 기초하여 비용을 비교함으로써, 최적 예측 모드를 결정한다(단계 S41). 그 다음, 변환 제어부(49)는, 색상 범위 변환이 실시되고 결정된 최적 예측 모드에 대응하는 예측 이미지를 프레임 메모리(25)에 저장한다(단계 S43). 무손실 인코딩부(16)는 색상 범위 변환에 관한 정보를 인코딩한다(단계 S45). 여기서 인코딩된 정보는 예측 모드 정보를 포함할 수 있다.
그 후, 후속하는 미처리된 관심대상 블록이 있을 때, 프로세스는 단계(S20)로 되돌아가고 후속하는 관심대상 블록에 관해 전술된 프로세스들이 반복된다(단계 S47). 후속하는 미처리된 관심대상 블록이 없으면, 도 15에 도시된 색상 범위 변환 프로세스가 종료한다.
<4. 실시예에서 EL 디코딩부의 구성례>
[4-1. 전체 구성]
도 16은 도 5에 도시된 EL 디코딩부(6b)의 구성례를 도시하는 블록도이다. 도 26을 참조하면, EL 디코딩부(6b)는, 누적 버퍼(61), 무손실 디코딩부(62), 역 양자화부(63), 역 직교 변환부(64), 가산부(65), 루프 필터(66), 분류 버퍼(67), 디지털-대-아날로그(D/A) 변환부(68), 프레임 메모리(69), 선택기(70 및 71), 인트라 예측부(80), 인터 예측부(85), 및 색상 범위 변환부(90)를 포함한다.
누적 버퍼(61)는, 저장 매체를 이용하여 디멀티플렉싱부(5)로부터 입력된 강화층의 인코딩된 스트림을 임시로 누적한다.
무손실 디코딩부(62)는, 인코딩시에 이용된 인코딩 방식에 따라, 누적 버퍼(61)로부터 입력된 강화층의 인코딩된 스트림으로부터 강화층의 양자화된 데이터를 디코딩한다. 무손실 디코딩부(62)는 인코딩된 스트림의 헤더 영역 내에 삽입된 정보를 디코딩한다. 무손실 디코딩부(62)에 의해 디코딩된 정보는, 예를 들어, 인트라 예측에 관한 정보 및 인터 예측에 관한 정보를 포함할 수 있다. 색상 범위 변환에 관련된 정보는 또한 강화층에서 디코딩될 수 있다. 무손실 디코딩부(62)는 양자화된 데이터를 역 양자화부(63)에 출력한다. 무손실 디코딩부(62)는 인트라 예측에 관한 정보를 인트라 예측부(80)에 출력한다. 무손실 디코딩부(62)는 인터 예측에 관한 정보를 인터 예측부(85)에 출력한다. 무손실 디코딩부(62)는 색상 범위 변환에 관련된 정보를 색상 범위 변환부(90)에 출력한다.
역 양자화부(63)는 인코딩시에 이용된 양자화 단계에서 무손실 디코딩부(62)로부터 입력된 양자화된 데이터를 역 양자화하여 강화층의 변환 계수 데이터를 복구한다. 역 양자화부(63)는 복구된 변환 계수 데이터를 역 직교 변환부(64)에 출력한다.
역 직교 변환부(64)는 인코딩시에 이용된 직교 변환 방식에 따라 역 양자화부(63)로부터 입력된 변환 계수 데이터에 관해 역 직교 변환을 수행하여 예측 에러 데이터를 생성한다. 역 직교 변환부(64)는 생성된 예측 에러 데이터를 가산부(65)에 출력한다.
가산부(65)는 역 직교 변환부(64)로부터 입력된 예측 에러 데이터와 선택기(71)로부터 입력된 예측된 이미지 데이터를 가산하여 디코딩된 이미지 데이터를 생성한다. 그 다음, 가산부(65)는 생성된 디코딩된 이미지 데이터를 루프 필터(66)와 프레임 메모리(69)에 출력한다.
EL 인코딩부(1b)의 루프 필터(24)에서와 같이, 루프 필터(66)는, 블록 아티팩트를 감소시키는 디블록 필터, 각각의 화소값에 오프셋 값을 가산하는 샘플 적응적 오프셋 필터, 및 원래의 이미지에서 에러를 최소화시키는 적응적 루프 필터를 포함한다. 루프 필터(66)는 가산부(65)로부터 입력된 디코딩된 이미지 데이터를 필터링하고 필터링 후의 디코딩된 이미지 데이터를 분류 버퍼(67) 및 프레임 메모리(69)에 출력한다.
분류 버퍼(67)는 루프 필터(66)로부터 입력된 이미지를 분류하여 이미지 데이터의 시간적 시리즈(chronological series)를 생성한다. 그 다음, 분류 버퍼(67)는 생성된 이미지 데이터를 D/A 변환부(68)에 출력한다.
D/A 변환부(68)는 분류 버퍼(67)로부터 입력된 디지털 포멧의 이미지 데이터를 아날로그 포멧의 이미지 신호로 변환한다. 그 다음, D/A 변환부(68)는 아날로그 이미지 신호를, 예를 들어, 이미지 디코딩 장치(60)에 접속된 (도시되지 않은) 디스플레이에 출력함으로써 강화층의 이미지를 디스플레이한다.
프레임 메모리(69)는, 가산부(65)로부터 입력되었지만 아직 필터링되지 않은 디코딩된 이미지 데이터, 루프 필터(66)로부터 입력되었고 필터링된 디코딩된 이미지 데이터, 및 색상 범위 변환부(90)로부터 입력된 베이스층의 기준 이미지 데이터를 저장하기 위해 저장 매체를 이용한다.
선택기(70)는, 무손실 디코딩부(62)에 의해 취득된 모드 정보에 따라 이미지 내의 각 블록에 대해 프레임 메모리(69)로부터의 이미지 데이터의 출력 목적지를 인트라 예측부(80)와 인터 예측부(85) 사이에서 스위칭한다. 예를 들어, 인트라 예측 모드가 지정될 때, 선택기(70)는, 프레임 메모리(69)로부터 공급되었고 아직 필터링되지 않은 디코딩된 이미지 데이터를 기준 이미지 데이터로서 인트라 예측부(80)에 출력한다. 인터 예측 모드가 지정될 때, 선택기(70)는 필터링된 디코딩된 이미지 데이터를 기준 이미지 데이터로서 인터 예측부(90)에 출력한다. 층간 예측이 인트라 예측부(80) 또는 인터 예측부(85)에서 수행될 때, 선택기(70)는 베이스층의 기준 이미지 데이터를 인트라 예측부(80) 또는 인터 예측부(85)에 공급한다.
선택기(71)는, 무손실 디코딩부(62)에 의해 취득된 모드 정보에 따라 가산부(65)에 공급될 예측된 이미지 데이터의 출력 소스를 인트라 예측부(80)와 인터 예측부(85) 사이에서 스위칭한다. 예를 들어, 인트라 예측 모드가 지정되면, 선택기(71)는 인트라 예측부(80)로부터 출력된 예측된 이미지 데이터를 가산부(65)에 공급한다. 인터 예측 모드가 지정되면, 선택기(71)는 인터 예측부(85)로부터 출력된 예측된 이미지 데이터를 가산부(65)에 공급한다.
인트라 예측부(80)는 무손실 디코딩부(62)로부터 입력된 인트라 예측에 관한 정보와 프레임 메모리(69)로부터의 기준 이미지 데이터에 기초하여 강화층의 인트라 예측 프로세스를 수행하여 예측된 이미지 데이터를 생성한다. 인트라 예측 프로세스는 각각의 PU에 대해 수행된다. 인트라 BL 예측 또는 인트라 잔차 예측이 인트라 예측 모드로서 지정되면, 인트라 예측부(80)는 예측 타겟 블록에 대응하는 베이스층 내의 대응하는 블록을 기준 블록으로서 이용한다. 인트라 BL 예측의 경우, 인트라 예측부(80)는 기준 블록의 디코딩된 이미지에 기초하여 예측된 이미지를 생성한다. 인트라 잔차 예측의 경우, 인트라 예측부(80)는 기준 블록의 예측 에러 이미지에 기초하여 인트라 예측의 예측 에러를 예측하고, 예측된 예측 에러가 가산되는 예측된 이미지를 생성한다. 인트라 예측부(80)는 강화층의 생성된 예측된 이미지 데이터를 선택기(71)에 출력한다.
인터 예측부(85)는 무손실 디코딩부(62)로부터 입력된 인터 예측에 관한 정보와 프레임 메모리(69)로부터의 기준 이미지 데이터에 기초하여 강화층의 인터 예측 프로세스(움직임 보상 프로세스)를 수행하여 예측된 이미지 데이터를 생성한다. 인터 예측 프로세스는 각각의 PU에 대해 수행된다. 인터 잔차 예측이 인터 예측 모드로서 지정되면, 인터 예측부(85)는 예측 타겟 블록에 대응하는 베이스층 내의 대응하는 블록을 기준 블록으로서 이용한다. 인터 잔차 예측의 경우, 인터 예측부(85)는 기준 블록의 예측 에러 이미지에 기초하여 인터 예측의 예측 에러를 예측하고, 예측된 예측 에러가 가산되는 예측된 이미지를 생성한다. 인터 예측부(85)는 강화층의 생성된 예측된 이미지 데이터를 선택기(71)에 출력한다.
색상 범위 변환부(90)는, 베이스층과 강화층 사이의 해상도 비율에 따라 공통 메모리(7)에 버퍼링된 베이스층의 이미지(디코딩된 이미지 또는 예측 에러 이미지)를 업샘플링한다. 강화층의 이미지가 베이스층의 이미지와는 상이한 색상 범위를 가질 때, 색상 범위 변환부(90)는 베이스층의 업샘플링된 이미지의 색상 범위를 강화층의 이미지와 동일한 색상 범위로 변환한다. 실시예에서, 베이스층과 강화층의 색상 범위들 사이의 각 색상 성분에 대해 독립된 선형 관계의 가정하에, 색상 범위 변환부(90)는 베이스층의 이미지로부터 강화층의 이미지를 근사적으로 예측함으로써 색상 범위를 변환한다. 색상 범위 변환부(90)에 의해 그 색상 범위가 변환되는 베이스층의 이미지는 인트라 예측부(80) 또는 인터 예측부(85)에 의해 층간 예측에서 기준 이미지로서 이용되기 위해 프레임 메모리(69)에 저장될 수 있다. 즉, 강화층의 이미지는 색상 범위 변환부(90)에 의해 생성된 예측된 이미지를 이용하여 디코딩된다. 색상 범위 변환부(90)는 색상 범위 변환에 관한 정보를 무손실 디코딩부(62)로부터 취득한다. 색상 범위 변환부(90)에 의해 취득된 정보는, 예를 들어, 예측 모드를 나타내는 예측 모드 정보를 포함한다. 적응적 파라미터 모드가 예측 모드로서 지정되면, 각각의 색상 성분의 예측 파라미터(즉, 이득 및 오프셋)를 직접 지정하거나 예측 인코딩을 통해 예측 파라미터를 간접 지정하는 파라미터 정보도 역시 취득된다. 색상 범위 변환부(90)는 무손실 디코딩부(62)로부터 취득된 파라미터를 이용하여 베이스층의 업샘플링된 이미지로부터 강화층의 이미지를 예측한다.
[4-2. 색상 범위 변환부의 제1 실시예]
도 17은 제1 실시예에 따른 색상 범위 변환부(90)의 구성례를 도시하는 블록도이다. 도 17을 참조하면, 색상 범위 변환부(90)는, 업샘플링부(91), 예측부(92), 파라미터 설정부(93), 및 파라미터 버퍼(94)를 포함한다.
(1) 업샘플링부
업샘플링부(91)는, 베이스층과 강화층 사이의 해상도 비율에 따라 공통 메모리(7)로부터 취득된 베이스층의 이미지를 업샘플링한다. 더 구체적으로는, 업샘플링부(91)는, 베이스층의 이미지를 미리 정의된 필터 계수로 필터링함으로써 해상도 비율에 따라 순차적으로 스캐닝된 보간된 화소들 각각의 보간된 화소값을 계산한다. 따라서, 베이스층의 이미지의 공간적 해상도는 강화층의 해상도와 동일한 해상도까지 증가될 수 있다. 업샘플링부(91)는 업샘플링 이후의 이미지를 예측부(92)에 출력한다.
(2) 예측부
예측부(92)는, 무손실 디코딩부(62)로부터 취득된 예측 모드 정보에서 보여진 예측 모드에 따라, 업샘플링이 실시되고 업샘플링부(91)로부터 입력된 베이스층의 이미지의 색상 범위를 강화층의 이미지의 색상 범위와 동일한 색상 범위로 변환한다. 예를 들어, 예측 모드 정보가 비트 시프트 모드를 나타낼 때, 예측부(92)는, 업샘플링이 실시되는 베이스층의 화소값을 수학식 (1) 내지 (3)에 따라 미리결정된 비트 시프트 양 nshift만큼 좌측으로 시프트시킴으로써 예측된 화소값을 계산한다. 예측 모드 정보가 고정된 파라미터 모드를 나타낼 때, 예측부(92)는, 수학식 (4) 내지 (6)에 따라 업샘플링이 실시되는 베이스층의 화소값을 고정된 이득으로 곱하고 또한 고정된 오프셋을 가산함으로써 예측된 화소값을 계산한다. 예측 모드 정보가 적응적 파라미터 모드를 나타낼 때, 예측부(92)는, 파라미터 설정부(93)에 의해 각각의 블록에 대해 적응적으로 설정된 예측 파라미터, 즉, 이득 및 오프셋을 이용하여 예측된 화소값을 계산한다. 그 결과, 색상 범위 변환이 실시되는 예측된 이미지가 각 블록에 대해 생성된다. 그 다음, 예측부(92)는 각 블록의 생성된 예측된 이미지를 프레임 메모리(69)에 저장한다.
(3) 파라미터 설정부
파라미터 설정부(93)는, 강화층의 이미지에 포함된 각각의 블록에 대해, 베이스층의 색상 범위와는 상이한 색상 범위를 갖는 강화층의 이미지가 베이스층의 이미지로부터 적응적 파라미터 모드에서 예측될 때 이용되는 예측 파라미터를 설정한다. 예측 파라미터는 수학식 (4) 내지 (6)에 도시된 이득 gi와 오프셋 oi(i=1, 2, 3)를 포함한다. 더 구체적으로는, 파라미터 설정부(93)는 무손실 디코딩부(62)에 의해 디코딩된 기준 블록 정보를 취득한다. 기준 블록 정보는 관심대상의 블록에 관한 예측 파라미터를 예측하기 위해 어느 기준 블록이 이용되는지를 나타낸다. 기준 블록에 대한 후보는 관심대상 블록에 인접한 상부 인접 블록 및 좌측 인접 블록을 포함할 수 있다. 기준 블록에 대한 후보는 인터 예측의 기준 이미지에서 (관심대상 블록의) 함께 위치한 블록을 포함할 수 있다. 파라미터 설정부(93)는 취득된 기준 블록 정보에 의해 표시된 기준 블록에서 설정된 예측 파라미터의 값을 파라미터 버퍼(94)로부터 취득하고, 예측 파라미터의 취득된 값에 기초하여 관심대상의 블록의 예측 파라미터의 값을 예측한다. 여기서, 예측된 값은 임의의 하나의 기준 블록의 예측 파라미터의 값과 동일할 수 있다. 대신에, 예측된 값은 2개 이상의 기준 블록의 예측 파라미터의 평균값일 수도 있다. 파라미터 설정부(93)는 관심대상의 블록의 예측 파라미터의 예측된 값을 이용하여 관심대상의 블록에서 예측 파라미터를 설정한다. 관심대상 블록에서 설정된 예측 파라미터는 기준 블록의 설정에 기초한 예측된 값과 무손실 디코딩부(62)에 의해 추가로 디코딩될 수 있는 차이 정보에 의해 표시된 차이값의 합일 수 있다. 파라미터 설정부(93)는 파라미터 버퍼(94)가 관심대상의 블록에서 설정된 예측 파라미터를 버퍼링하게 한다.
어떠한 하나의 인접 블록도 이용가능하지 않으면, 예를 들어, 관심대상의 블록이 화상, 슬라이스, 또는 타일의 끝에 위치해 있으면, 이용가능하지 않은 인접 블록이 기준 블록에 대한 후보로부터 제외된다. 이용가능한 기준 블록이 없을 때, 파라미터 설정부(93)는 무손실 디코딩부(62)에 의해 디코딩된 파라미터 정보에 의해 직접 지정된 예측 파라미터의 값을 관심대상의 블록에서 설정한다. 도 8c의 예에서와 같이, 이용가능한 기준 블록이 있지만 어떠한 기준 블록도 예측 파라미터를 예측하는데 이용되지 않는다는 것을 기준 블록 정보가 나타낼 때, 파라미터 설정부(93)는 파라미터 정보에 의해 직접 지정될 수 있는 예측 파라미터의 값을 관심대상의 블록에서 설정할 수 있다. 여기서, 파라미터 정보는, 설정될 예측 파라미터의 값들과, 시퀀스, 화상 등의 단위로 미리 정의되거나 설정될 수 있는 디폴트 값들 사이의 차이들을 지정할 수 있다.
(4) 파라미터 버퍼
파라미터 버퍼(94)는 파라미터 설정부(93)에 의해 각각의 블록에 대해 설정된 적응적 파라미터 모드에 대한 예측 파라미터를 반도체 메모리 등의 저장 매체에 임시로 버퍼링한다. 파라미터 버퍼(94)에 의해 버퍼링되는 블록의 예측 파라미터는, 인접 블록 또는 함께 위치한 블록의 예측 파라미터들이 예측 디코딩될 때 참조된다.
[4-3. 색상 범위 변환부의 제2 실시예]
도 18은 제2 실시예에 따른 색상 범위 변환부(90)의 구성례를 도시하는 블록도이다. 도 18을 참조하면, 색상 범위 변환부(90)는, 업샘플링부(91), 예측부(92), BL 기준 버퍼(97a), EL 기준 버퍼(97b), 및 파라미터 설정부(98)를 포함한다.
(1) BL 기준 버퍼
BL 기준 버퍼(97a)는, 공통 메모리(7)로부터, 적응적 파라미터 모드의 예측 파라미터가 계산될 때 참조되는 베이스층의 이미지를 취득하고, 취득된 기준 이미지를 반도체 메모리 등의 저장 매체에 임시로 버퍼링한다. 관심대상 블록의 예측 파라미터가 계산될 때 참조되는 베이스층의 화소들은, 예를 들어, 관심대상 블록의 상부 및 좌측 인접 블록에 대응하는 대응 블록의 화소들일 수 있다.
(2) EL 기준 버퍼
EL 기준 버퍼(97b)는, 공통 메모리(69)로부터, 적응적 파라미터 모드의 예측 파라미터가 계산될 때 참조되는 강화층의 디코딩된 이미지를 취득하고, 취득된 기준 이미지를 반도체 메모리 등의 저장 매체에 임시로 버퍼링한다. 관심대상 블록의 예측 파라미터가 계산될 때 참조되는 강화층의 화소들은, 예를 들어, 관심대상 블록의 상부 및 좌측 인접 블록에 대응하는 대응 블록의 화소들일 수 있다.
(3) 파라미터 설정부
파라미터 설정부(98)는, 관심대상 블록에 인접한 하나 이상의 인접 블록과 하나 이상의 인접 블록에 대응하는 베이스층의 하나 이상의 대응 블록의 화소값들을 이용하여 적응적 파라미터 모드에 대한 관심대상 블록의 예측 파라미터들의 최적의 값을 계산한다. 예측 파라미터의 최적 값을 계산하기 위한 알고리즘은 인코더측의 것과 동일하다. 파라미터 설정부(98)는 관심대상의 블록에서 계산된 이득과 오프셋을 설정한다.
예를 들어, 파라미터 설정부(98)는 강화층의 하나 이상의 인접 블록과 베이스층의 하나 이상의 대응하는 블록의 화소들 중 일부를 데시메이트하고 나머지 화소들의 화소값을 이용하여 예측 파라미터의 최적 값을 계산할 수 있다. 따라서, 예측 파라미터를 계산하고 처리 지연을 감소시키는데 이용되는 처리 자원의 소비를 억제하는 것이 가능하다. 파라미터 설정부(98)는, 관심대상 블록의 크기에 따라 데시메이트된 기준 화소들의 비율을 변경할 수 있다.
예측 파라미터들을 계산하기 위한 기준 화소들은, 강화층에서 상부 인접 블록의 하부 끝 라인과 좌측 인접 블록의 우측 끝 라인 상의 복수의 화소를 포함할 수 있다(베이스층에도 마찬가지가 적용된다). 어떠한 인접 블록도 이용가능하지 않을 때, 이용가능하지 않은 인접 블록은 참조되지 않는다. 이용가능한 인접 블록이 없을 때, 파라미터 설정부(98)는 관심대상 블록에서 예측 파라미터의 디폴트 값을 설정할 수 있다. 대신에, 파라미터 설정부(98)는 관심대상 블록에서 예측된 파라미터로서 무손실 디코딩부(62)에 의해 디코딩된 파라미터 정보에 의해 직접 지정된 값을 설정할 수 있다.
[4-4. 색상 범위 변환부의 변형례]
전술된 바와 같이, 일부 경우에, 오프셋의 적응적 선택만이 이미지의 특성이나 색상 범위의 타입에 따라 색상 범위 변환의 정확도 개선에 주로 기여한다. 그 경우들에서, 변형례로서, 색상 범위 변환부(90)는, 디코딩된 정보에 따라, 복수의 블록(예를 들어, 화상, 슬라이스 또는 타일에서의 LCU들 모두) 전체에 걸쳐 고정된 이득값을 설정할 수 있고, 역으로 각 블록에 대해 가변적인 오프셋 값을 설정할 수 있다. 이득은 복수의 화상 또는 복수의 시퀀스를 통해 고정될 수 있다. 고정된 이득값은 인코딩된 스트림으로부터 디코딩되거나 명세로서 미리 정의될 수 있다. 오프셋이 각각의 블록에 대해 설정될 수 있거나 화상 등의 단위보다 큰 단위로 설정될 수 있다.
<5. 실시예에 따른 디코딩 프로세스의 흐름>
[5-1. 개략적 흐름]
도 19는 실시예에 따른 디코딩 프로세스의 개략적 흐름례를 도시하는 플로차트이다. 본 개시에 따른 기술에 직접 관련되지 않은 프로세스 단계들의 설명은 간소화를 위해 도면에서 생략된다.
도 19는, 우선, 디멀티플렉싱부(5)가 다중층의 멀티플렉싱된 스트림을 역으로 멀티플렉싱하여(inversely multiplex) 베이스층의 인코딩된 스트림과 강화층의 인코딩된 스트림을 얻는다(단계 S60)는 것을 나타낸다.
그 다음, BL 디코딩부(6a)는 베이스층 상에서 디코딩 프로세스를 실행하고, 베이스층의 인코딩된 스트림으로부터 베이스층 이미지를 재구성한다(단계 S61).
공통 메모리(7)는 베이스층 및 층들간에 재사용되는 파라미터에 대한 디코딩 프로세스에서 생성된 베이스층의 이미지(디코딩된 이미지 및 예측 에러 이미지 중 하나 또는 양쪽 모두)를 버퍼링한다(단계 S62).
그 다음, EL 디코딩부(6b)는 강화층에 대한 디코딩 프로세스를 수행하여 강화층의 이미지를 재구성한다(단계 S63). 여기서 수행된 강화층에 대한 디코딩 프로세스에서, 공통 메모리(7)에 의해 버퍼링된 베이스층의 이미지는 색상 범위 변환부(90)에 의해 업샘플링되어 색상 범위가 변환된다. 색상 범위 변환 이후의 베이스층의 이미지가 층간 예측에서 기준 이미지로서 이용될 수 있다.
[5-2. 색상 범위 변환 프로세스(제1 실시예)]
(1) 색상 범위 변환 프로세스
도 20은 제1 실시예에 따른 디코딩을 위한 색상 범위 변환 프로세스의 흐름례를 도시하는 플로차트이다. 여기서 설명된 색상 범위 변환 프로세스는, 화상, 슬라이스 또는 타일에 포함된 블록들 각각에 관해 수행될 수 있다.
도 20을 참조하면, 업샘플링부(91)는, 먼저, 베이스층과 강화층 사이의 해상도 비율에 따라 공통 메모리(7)로부터 취득된 베이스층의 이미지를 업샘플링한다(단계 S70).
예측부(92)는 강화층의 관심대상 블록에 대응하는 베이스층의 대응하는 블록을 식별한다(단계 S71). 예측부(92)는 무손실 디코딩부(62)에 의해 관심대상 블록에 관해 디코딩된 색상 범위 변환에 관한 정보를 취득한다(단계 S72).
프로세스는 이후에, 취득된 예측 모드 정보에 의해 표시된 예측 모드에 따라 분기한다. 예측 모드 정보가 비트 시프트 모드를 나타낼 때(단계 S73), 예측부(92)는 비트 시프트 모드에서 색상 범위 예측을 수행하여 관심대상 블록의 예측된 이미지를 생성한다(단계 S74).
예측 모드 정보가 고정된 파라미터 모드를 나타낼 때(단계 S75), 예측부(92)는 관심대상 블록에서 고정된 예측 파라미터를 설정한다(단계 S76). 예측 모드 정보가 적응적 파라미터 모드를 나타낼 때, 파라미터 설정부(93)는 예측 파라미터 생성 프로세스를 수행하여 관심대상 블록에서 설정될 예측 파라미터를 생성한다(단계 S80). 그 다음, 파라미터 설정부(93)는 생성된 예측 파라미터를 관심대상 블록에서 설정한다(단계 S90). 예측부(92)는 관심대상 블록에서 설정된 예측 파라미터를 이용하여 색상 범위 예측을 수행하여 관심대상 블록의 예측된 이미지를 생성한다(단계 S93).
그 다음, 예측부(92)는 색상 범위 변환이 실시되는 예측된 이미지를 프레임 메모리(69)에 저장한다(단계 S94). 그 후, 후속하는 미처리된 관심대상 블록이 있을 때, 프로세스는 단계(S70)로 되돌아가고 후속하는 관심대상 블록에 관해 전술된 프로세스들이 반복된다(단계 S95). 후속하는 미처리된 관심대상 블록이 없으면, 도 20에 도시된 색상 범위 변환 프로세스가 종료한다.
(2) 예측 파라미터 생성 프로세스
도 21은 도 20에 도시된 예측 파라미터 생성 프로세스의 흐름례를 도시하는 플로차트이다.
도 21을 참조하면, 파라미터 설정부(93)는 먼저, 관심대상 블록에 관하여 디코딩된 기준 블록 정보에서 하나 이상의 기준 블록이 참조될 것으로 지정되어 있는지를 결정한다(단계 S81).
기준 블록 정보에서 하나 이상의 기준 블록이 지정되면, 파라미터 설정부(93)는 지정된 기준 블록에서 설정된 예측 파라미터에 기초하여 관심대상 블록에 대한 예측된 값을 결정한다(단계 S83). 여기서 결정된 예측된 값은 임의의 기준 블록에서 설정된 예측 파라미터의 값과 동일하거나 복수의 기준 블록에서 설정된 예측 파라미터의 평균값일 수 있다. 그 다음, 파라미터 설정부(93)는 관심대상 블록에 관하여 디코딩된 차이 정보를 취득한다(단계 S84). 그 다음, 파라미터 설정부(93)는 관심대상 블록에 대한 예측된 값과 차이 정보에 의해 표시된 차이값을 가산함으로써 관심대상 블록에서 설정될 예측 파라미터를 계산한다(단계 S85).
역으로, 어떠한 기준 블록도 기준 블록 정보에서 지정되어 있지 않으면, 파라미터 설정부(93)는 예측 인코딩의 이용없이 생성된 파라미터 정보로부터 관심대상 블록에서 설정될 예측 파라미터의 값을 결정한다(단계 S87).
제1 실시예에서, 이러한 프로세스의 결과로서 생성된 예측 파라미터는, 적응적 파라미터 모드가 지정된 블록들 각각에서 설정된다.
[5-3. 색상 범위 변환 프로세스(제2 실시예)]
도 22는 제2 실시예에 따른 디코딩을 위한 색상 범위 변환 프로세스의 흐름례를 나타내는 플로차트이다. 여기서 설명된 색상 범위 변환 프로세스는, 화상, 슬라이스 또는 타일에 포함된 블록들 각각에 관해 수행될 수 있다.
도 22를 참조하면, 업샘플링부(91)는, 먼저, 베이스층과 강화층 사이의 해상도 비율에 따라 공통 메모리(7)로부터 취득된 베이스층의 이미지를 업샘플링한다(단계 S70).
예측부(92)는 강화층의 관심대상 블록에 대응하는 베이스층의 대응하는 블록을 식별한다(단계 S71). 예측부(92)는 무손실 디코딩부(62)에 의해 관심대상 블록에 관해 디코딩된 색상 범위 변환에 관한 정보를 취득한다(단계 S72).
프로세스는 이후에, 취득된 예측 모드 정보에 의해 표시된 예측 모드에 따라 분기한다. 예측 모드 정보가 비트 시프트 모드를 나타낼 때(단계 S73), 예측부(92)는 비트 시프트 모드에서 색상 범위 예측을 수행하여 관심대상 블록의 예측된 이미지를 생성한다(단계 S74).
예측 모드 정보가 고정된 파라미터 모드를 나타낼 때(단계 S75), 예측부(92)는 관심대상 블록에서 고정된 예측 파라미터를 설정한다(단계 S76). 예측 모드 정보가 적응적 파라미터 모드를 나타낼 때, 파라미터 설정부(98)는 관심대상 블록에 관하여 이용가능한 인접 블록이 있는지를 결정한다(단계 S77). 이용가능한 인접 블록이 있다면, 파라미터 설정부(98)는 강화층의 하나 이상의 인접 블록과 인접 블록에 대응하는 베이스층의 대응하는 블록들의 기준 화소들을 선택한다(단계 S78). 여기서, 파라미터 설정부(98)는 기준 블록의 기준 화소를 데시메이트할 수 있다. 그 다음, 파라미터 설정부(98)는, 선택된 기준 화소의 화소값을 이용하여 관심대상 블록의 최적 예측 파라미터를 계산하고 계산된 예측 파라미터를 관심대상 블록에서 설정한다(단계 S79). 역으로, 이용가능한 인접 블록이 없을 때, 파라미터 설정부(98)는 관심대상 블록에서 디폴트 예측 파라미터를 설정한다(단계 S91). 예측부(92)는 관심대상 블록에서 설정된 예측 파라미터를 이용하여 색상 범위 예측을 수행하여 관심대상 블록의 예측된 이미지를 생성한다(단계 S93).
그 다음, 예측부(92)는 색상 범위 변환이 실시되는 예측된 이미지를 프레임 메모리(69)에 저장한다(단계 S94). 그 후, 후속하는 미처리된 관심대상 블록이 있을 때, 프로세스는 단계(S70)로 되돌아가고 후속하는 관심대상 블록에 관해 전술된 프로세스들이 반복된다(단계 S95). 후속하는 미처리된 관심대상 블록이 없으면, 도 20에 도시된 색상 범위 변환 프로세스가 종료한다.
<6. 응용>
[6-1. 다양한 상품에의 응용]
실시예에 따른 이미지 인코딩 장치(10)와 이미지 디코딩 장치(60)는, 위성 방송, 케이블 TV 등의 케이블 방송, 인터넷 상의 배포, 셀룰러 통신을 통한 단말기로의 배포 등을 위한 송신기 및 수신기, 광 디스크, 자기 디스크 및 플래시 메모리 등의 매체에 이미지를 기록하는 기록 장치, 및 이러한 저장 매체로부터 이미지를 재생하는 재생 장치와 같은 다양한 전자 장치에 적용될 수 있다. 4개의 응용이 이하에서 설명될 것이다.
(1) 제1 응용
도 23은 실시예가 적용되는 텔레비전 장치의 개략적 구성례를 나타낸다. 텔레비전 장치(900)는, 안테나(901), 튜너(902), 디멀티플렉서(903), 디코더(904), 비디오 신호 처리부(905), 디스플레이부(906), 오디오 신호 처리부(907), 스피커(908), 외부 인터페이스(909), 제어부(910), 사용자 인터페이스(911), 및 버스(912)를 포함한다.
튜너(902)는 안테나(901)를 통해 수신된 방송 신호로부터 원하는 채널의 신호를 추출하고 추출된 신호를 복조한다. 그 다음, 튜너(902)는 복조를 통해 얻어진 인코딩된 비트 스트림을 디멀티플렉서(903)에 출력한다. 즉, 튜너(902)는, 이미지가 인코딩되어 있는 인코딩된 스트림을 수신하기 위한 텔레비전 장치(900)의 송신 수단으로서 역할한다.
디멀티플렉서(903)는 인코딩된 비트 스트림을 디멀티플렉싱하여 시청할 프로그램의 비디오 스트림 및 오디오 스트림을 얻고, 디멀티플렉싱을 통해 얻어진 각각의 스트림을 디코더(904)에 출력한다. 디멀티플렉서(903)는 또한, 인코딩된 비트 스트림으로부터 전자 프로그램 가이드(EPG) 등의 보조 데이터를 추출하여 추출된 데이터를 제어부(910)에 공급한다. 추가적으로, 디멀티플렉서(903)는 인코딩된 비트 스트림이 스크램블링되었을 경우 디스크램블링을 수행할 수 있다.
디코더(904)는 디멀티플렉서(903)로부터 입력된 비디오 스트림 및 오디오 스트림을 디코딩한다. 그 다음, 디코더(904)는 디코딩 프로세스에서 생성된 비디오 데이터를 비디오 신호 처리부(905)에 출력한다. 디코더(904)는 또한, 디코딩 프로세스에서 생성된 오디오 데이터를 오디오 신호 처리부(907)에 출력한다.
비디오 신호 처리부(905)는 디코더(904)로부터 입력된 비디오 데이터를 재생하고, 디스플레이부(906)가 비디오를 디스플레이하게 한다. 비디오 신호 처리부(905)는 또한, 디스플레이부(906)가 네트워크를 통해 공급된 애플리케이션 스크린을 디스플레이하게 할 수 있다. 또한, 비디오 신호 처리부(905)는, 예를 들어, 설정에 따라 비디오 데이터에 관해 노이즈 제거 등의 추가 처리를 수행할 수도 있다. 또한, 비디오 신호 처리부(905)는, 메뉴, 버튼 및 커서 등의 그래픽 사용자 인터페이스(GUI)의 이미지를 생성하고, 생성된 이미지를 출력 이미지에 중첩할 수 있다.
디스플레이부(906)는 비디오 신호 처리부(905)로부터 공급된 구동 신호에 의해 구동되고, 디스플레이 장치(예를 들어, 액정 디스플레이, 플라즈마 디스플레이, OLED 등)의 비디오 스크린 상에 비디오 또는 이미지를 디스플레이한다.
오디오 신호 처리부(907)는 디코더(904)로부터 입력된 오디오 데이터에 대해 D/A 변환 및 증폭 등의 재생 프로세스를 수행하고, 스피커(908)로부터 사운드를 출력한다. 오디오 신호 처리부(907)는 또한 오디오 데이터에 대해 노이즈 제거 등의 추가 처리를 수행할 수 있다.
외부 인터페이스(909)는 텔레비전 장치(900)를 외부 장치 또는 네트워크에 접속하기 위한 인터페이스이다. 예를 들어, 외부 인터페이스(909)를 통해 수신된 비디오 스트림 또는 오디오 스트림은 디코더(904)에 의해 디코딩될 수 있다. 즉, 외부 인터페이스(909)는 또한, 이미지가 인코딩되어 있는 인코딩된 스트림을 수신하기 위한 텔레비전 장치(900)의 송신 수단으로서 역할한다.
제어부(910)는, 중앙 처리 장치(CPU) 등의 프로세서, 및 랜덤 액세스 메모리(RAM) 및 판독 전용 메모리(ROM) 등의 메모리를 포함한다. 메모리는, CPU에 의해 실행되는 프로그램, 프로그램 데이터, EPG 데이터, 네트워크를 통해 취득된 데이터 등을 저장한다. 메모리에 저장된 프로그램은, 예를 들어, 텔레비전 장치(900)의 작동시에, CPU에 의해 판독되고 실행된다. CPU는, 예를 들어, 프로그램을 실행시킴으로써 사용자 인터페이스(911)로부터 입력된 동작 신호에 따라, 텔레비전 장치(900)의 동작을 제어한다.
사용자 인터페이스(911)는 제어부(910)에 접속된다. 사용자 인터페이스(911)는, 예를 들어, 사용자가 텔레비전 장치(900)를 동작시키는데 이용되는 버튼 및 스위치와, 원격 제어 신호를 위한 수신부를 포함한다. 사용자 인터페이스(911)는, 이들 구조적 요소를 통해 사용자의 동작을 검출하고, 동작 신호를 생성하며, 생성된 동작 신호를 제어부(910)에 출력한다.
버스(912)는, 튜너(902), 디멀티플렉서(903), 디코더(904), 비디오 신호 처리부(905), 오디오 신호 처리부(907), 외부 인터페이스(909), 및 제어부(910)를 서로 접속한다.
디코더(904)는, 이런 방식으로 구성된 텔레비전 장치(900)에서 실시예에 따른 이미지 디코딩 장치(60)의 기능을 가진다. 따라서, 텔레비전 장치(900)가 서로 상이한 색상 범위를 갖는 층들에 관해 색상 범위 예측을 수행할 때, 색상 범위 예측의 정확도가 이미지의 영역으로 인해 열화되는 것을 방지하는 것이 가능하다.
(2) 제2 응용
도 24는 실시예가 적용되는 이동 전화의 개략적 구성례를 나타낸다. 이동 전화(920)는, 안테나(921), 통신부(922), 오디오 코덱(923), 스피커(924), 마이크로폰(925), 카메라부(926), 이미지 처리부(927), 디멀티플렉싱부(928), 기록/재생부(929), 디스플레이부(930), 제어부(931), 동작부(932), 및 버스(933)를 포함한다.
안테나(921)는 통신부(922)에 접속된다. 스피커(924) 및 마이크로폰(925)은 오디오 코덱(923)에 접속된다. 동작부(932)는 제어부(931)에 접속된다. 버스(933)는, 통신부(922), 오디오 코덱(923), 카메라부(926), 이미지 처리부(927), 디멀티플렉싱부(928), 기록/재생부(929), 디스플레이부(930), 및 제어부(931)를 서로 접속한다.
이동 전화(920)는, 오디오 콜 모드(audio call mode), 데이터 통신 모드, 이미지 포착 모드, 및 비디오폰 모드를 포함한 다양한 동작 모드에서 오디오 신호의 송수신, 이메일 또는 이미지 데이터의 송수신, 이미지 포착, 및 데이터의 기록 등의 동작을 수행한다.
마이크로폰(925)에 의해 생성된 아날로그 오디오 신호는 오디오 콜 모드에서 오디오 코덱(923)에 공급된다. 오디오 코덱(923)은 아날로그 오디오 신호를 오디오 데이터로 변환하고, 변환된 오디오 데이터에 A/D 변환을 실시하고, 변환된 데이터를 압축한다. 그 다음, 오디오 코덱(923)은 압축된 오디오 데이터를 통신부(922)에 출력한다. 통신부(922)는 오디오 데이터를 인코딩 및 변조하고, 송신 신호를 생성한다. 그 다음, 통신부(922)는 생성된 송신 신호를 안테나(921)를 통해 기지국(미도시)에 송신한다. 통신부(922)는 또한, 안테나(921)를 통해 수신된 무선 신호를 증폭하고 무선 신호의 주파수를 변환하여 수신 신호를 취득한다. 그 다음, 통신부(922)는 수신 신호를 복조 및 디코딩하고, 오디오 데이터를 생성하며, 생성된 오디오 데이터를 오디오 코덱(923)에 출력한다. 오디오 코덱(923)은 오디오 데이터를 확장하고, 오디오 데이터에 D/A 변환을 실시하며, 아날로그 오디오 신호를 생성한다. 그 다음, 오디오 코덱(923)은 생성된 오디오 신호를 스피커(924)에 공급하여 사운드를 출력한다.
제어부(931)는 또한, 동작부(932)를 통해 사용자에 의해 이루어진 동작에 따라 텍스트 데이터, 예를 들어, 전자메일을 작성하는 텍스트 데이터를 생성한다. 게다가, 제어부(931)는 디스플레이부(930)가 텍스트를 디스플레이하게 한다. 또한, 제어부(931)는 동작부(932)를 통해 사용자로부터의 송신 명령에 따라 전자메일 데이터를 생성하고, 생성된 전자메일 데이터를 통신부(922)에 출력한다. 통신부(922)는 전자메일 데이터를 인코딩 및 변조하고, 송신 신호를 생성한다. 그 다음, 통신부(922)는 생성된 송신 신호를 안테나(921)를 통해 기지국(미도시)에 송신한다. 통신부(922)는 또한, 안테나(921)를 통해 수신된 무선 신호를 증폭하고 무선 신호의 주파수를 변환하여 수신 신호를 취득한다. 그 다음, 통신부(922)는 수신 신호를 복조 및 디코딩하여 전자메일 데이터를 복구하고, 복구된 전자메일 데이터를 제어부(931)에 출력한다. 제어부(931)는 디스플레이부(930)가 전자메일의 내용을 디스플레이하게 하고, 또한 기록/재생부(929)의 저장 매체가 전자메일 데이터를 저장하게 한다.
기록/재생부(929)는 판독가능하고 기입가능한 저장 매체를 포함한다. 예를 들어, 저장 매체는, RAM 및 플래시 메모리 등의 내장된 저장 매체이거나, 하드 디스크, 자기 디스크, 광자기 디스크, 광 디스크, USB 메모리, 및 메모리 카드 등의 외부적으로 장착된 저장 매체일 수도 있다.
또한, 카메라부(926)는, 예를 들어, 피사체의 이미지를 포착하여 이미지 데이터를 생성하고, 생성된 이미지 데이터를 이미지 포착 모드에서 이미지 처리부(927)에 출력한다. 이미지 처리부(927)는 카메라부(926)로부터 입력된 이미지 데이터를 인코딩하고, 기록/재생부(929)의 저장 매체가 인코딩된 스트림을 저장하게 한다.
또한, 디멀티플렉싱부(928)는, 예를 들어, 이미지 처리부(927)에 의해 인코딩된 비디오 스트림과 오디오 코덱(923)으로부터 입력된 오디오 스트림을 멀티플렉싱하고, 멀티플렉싱된 스트림을 비디오폰 모드에서 통신부(922)에 출력한다. 통신부(922)는 스트림을 인코딩 및 변조하고, 송신 신호를 생성한다. 그 다음, 통신부(922)는 생성된 송신 신호를 안테나(921)를 통해 기지국(미도시)에 송신한다. 통신부(922)는 또한, 안테나(921)를 통해 수신된 무선 신호를 증폭하고 무선 신호의 주파수를 변환하여 수신 신호를 취득한다. 이들 송신 신호 및 수신 신호는 인코딩된 비트 스트림을 포함할 수 있다. 그 다음, 통신부(922)는 수신 신호를 복조 및 디코딩하여 스트림을 복구하고, 복구된 스트림을 디멀티플렉싱부(928)에 출력한다. 디멀티플렉싱부(928)는 입력 스트림을 디멀티플렉싱하여 비디오 스트림과 오디오 스트림을 얻고, 비디오 스트림을 이미지 처리부(927)에 출력하고 오디오 스트림을 오디오 코덱(923)에 출력한다. 이미지 처리부(927)는 비디오 스트림을 디코딩하고, 비디오 데이터를 생성한다. 비디오 데이터는 디스플레이부(930)에 공급되고, 일련의 이미지는 디스플레이부(930)에 의해 디스플레이된다. 오디오 코덱(923)은 오디오 스트림을 확장하고, 오디오 스트림에 D/A 변환을 실시하며, 아날로그 오디오 신호를 생성한다. 그 다음, 오디오 코덱(923)은 생성된 오디오 신호를 스피커(924)에 공급하여 사운드가 출력되게 한다.
이미지 처리부(927)는, 이런 방식으로 구성된 이동 전화(920)에서 실시예에 따른 이미지 인코딩 장치(10) 및 이미지 디코딩 장치(60)의 기능을 가진다. 따라서, 이동 전화(920)가 서로 상이한 색상 범위를 갖는 층들에 대해 색상 범위 예측을 수행할 때, 색상 범위 예측의 정확도가 이미지의 영역으로 인해 열화되는 것을 방지하는 것이 가능하다.
(3) 제3 응용
도 25는 실시예가 적용되는 기록/재생 장치의 개략적 구성례를 나타낸다. 기록/재생 장치(940)는, 예를 들어, 수신된 방송 프로그램의 오디오 데이터 및 비디오 데이터를 인코딩하고, 인코딩된 오디오 데이터와 인코딩된 비디오 데이터를 기록 매체에 기록한다. 예를 들어, 기록/재생 장치(940)는 또한, 또 다른 장치로부터 취득된 오디오 데이터 및 비디오 데이터를 인코딩하고, 인코딩된 오디오 데이터와 인코딩된 비디오 데이터를 기록 매체에 기록한다. 또한, 기록/재생 장치(940)는, 예를 들어, 사용자의 명령에 따라 기록 매체에 기록된 데이터를 재생하기 위해 모니터나 스피커를 이용한다. 이 때, 기록/재생 장치(940)는 오디오 데이터와 비디오 데이터를 디코딩한다.
기록/재생 장치(940)는, 튜너(941), 외부 인터페이스(942), 인코더(943), 하드 디스크 드라이브(HDD, 944), 디스크 드라이브(945), 선택기(946), 디코더(947), 온-스크린 디스플레이(OSD)(948), 제어부(949), 및 사용자 인터페이스(950)를 포함한다.
튜너(941)는 안테나(미도시)를 통해 수신된 방송 신호로부터 원하는 채널의 신호를 추출하고 추출된 신호를 복조한다. 그 다음, 튜너(941)는 복조를 통해 얻어진 인코딩된 비트 스트림을 선택기(946)에 출력한다. 즉, 튜너(941)는 기록/재생 장치(940)의 송신 수단으로서 역할한다.
외부 인터페이스(942)는 기록/재생 장치(940)를 외부 장치 또는 네트워크에 접속하기 위한 인터페이스이다. 예를 들어, 외부 인터페이스(942)는, IEEE 1394 인터페이스, 네트워크 인터페이스, USB 인터페이스, 플래시 메모리 인터페이스 등일 수 있다. 예를 들어, 외부 인터페이스(942)를 통해 수신된 비디오 데이터 및 오디오 데이터는 인코더(943)에 입력된다. 즉, 외부 인터페이스(942)는 기록/재생 장치(940)의 송신 수단으로서 역할한다.
외부 인터페이스(942)로부터 입력된 비디오 데이터 및 오디오 데이터가 인코딩되지 않았을 때, 인코더(943)는 비디오 데이터 및 오디오 데이터를 인코딩한다. 그 다음, 인코더(943)는 인코딩된 비트 스트림을 선택기(946)에 출력한다.
HDD(944)는, 내부 하드 디스크에, 비디오 및 사운드의 콘텐츠 데이터가 압축되어 있는 인코딩된 비트 스트림, 다양한 프로그램, 및 기타의 데이터를 기록한다. HDD(944)는 또한, 비디오 또는 사운드를 재생하는 시점에 하드 디스크로부터 이들 데이터를 판독한다.
디스크 드라이브(945)는, 장착된 기록 매체에 데이터를 기록 및 판독한다. 디스크 드라이브(945) 상에 장착된 기록 매체는, 예를 들어, DVD 디스크(DVD-Video, DVD-RAM, DVD-R, DVD-RW, DVD+R, DVD+RW 등), 블루레이(등록 상표) 디스크 등일 수 있다.
선택기(946)는, 비디오 또는 사운드를 기록할 때, 튜너(941) 또는 인코더(943)로부터 입력된 인코딩된 비트 스트림을 선택하고, 선택된 인코딩된 비트 스트림을 HDD(944) 또는 디스크 드라이브(945)에 출력한다. 선택기(946)는 또한, 비디오 또는 사운드를 재생할 때, HDD(944) 또는 디스크 드라이브(945)로부터 입력된 인코딩된 비트 스트림을 디코더(947)에 출력한다.
디코더(947)는 인코딩된 비트 스트림을 디코딩하고, 비디오 데이터 및 오디오 데이터를 생성한다. 그 다음, 디코더(947)는 생성된 비디오 데이터를 OSD(948)에 출력한다. 디코더(904)는 또한, 생성된 오디오 데이터를 외부 스피커에 출력한다.
OSD(948)는 디코더(947)로부터 입력된 비디오 데이터를 재생하고 비디오를 디스플레이한다. OSD(948)는 또한, 메뉴, 버튼, 및 커서 등의 GUI의 이미지를 디스플레이된 비디오 상에 중첩할 수 있다.
제어부(949)는, CPU 등의 프로세서와, RAM 및 ROM 등의 메모리를 포함한다. 메모리는, CPU에 의해 실행되는 프로그램, 프로그램 데이터 등을 저장한다. 예를 들어, 메모리에 저장된 프로그램은, 기록/재생 장치(940)의 작동시에 CPU에 의해 판독되고 실행된다. CPU는, 예를 들어, 프로그램을 실행시킴으로써 사용자 인터페이스(950)로부터 입력된 동작 신호에 따라, 기록/재생 장치(940)의 동작을 제어한다.
사용자 인터페이스(950)는 제어부(949)에 접속된다. 사용자 인터페이스(950)는, 예를 들어, 사용자가 기록/재생 장치(940)를 동작시키는데 이용되는 버튼 및 스위치와, 원격 제어 신호를 위한 수신부를 포함한다. 사용자 인터페이스(950)는, 이들 구조적 요소를 통해 사용자에 의해 이루어진 동작을 검출하고, 동작 신호를 생성하며, 생성된 동작 신호를 제어부(949)에 출력한다.
인코더(943)는, 이런 방식으로 구성된 기록/재생 장치(940)에서 실시예에 따른 이미지 인코딩 장치(10)의 기능을 가진다. 디코더(947)는 또한 실시예에 따른 이미지 디코딩 장치(60)의 기능을 가진다. 따라서, 기록/재생 장치(940)가 서로 상이한 색상 범위를 갖는 층들에 관해 색상 범위 예측을 수행할 때, 색상 범위 예측의 정확도가 이미지의 영역으로 인해 열화되는 것을 방지하는 것이 가능하다.
(4) 제4 응용
도 26은 실시예가 적용되는 촬상 장치(image capturing device)의 개략적 구성례를 나타낸다. 촬상 장치(960)는 피사체의 이미지를 포착하여 이미지를 생성하고, 이미지 데이터를 인코딩하며, 이미지 데이터를 기록 매체에 기록한다.
촬상 장치(960)는, 광 블록(961), 촬상부(962), 신호 처리부(963), 이미지 처리부(964), 디스플레이부(965), 외부 인터페이스(966), 메모리(967), 미디어 드라이브(968), OSD(969), 제어부(970), 사용자 인터페이스(971), 및 버스(972)를 포함한다.
광 블록(961)은 촬상부(962)에 접속된다. 촬상부(962)는 신호 처리부(963)에 접속된다. 디스플레이부(965)는 이미지 처리부(964)에 접속된다. 사용자 인터페이스(971)는 제어부(970)에 접속된다. 버스(972)는, 이미지 처리부(964), 외부 인터페이스(966), 메모리(967), 미디어 드라이브(968), OSD(969), 및 제어부(970)를 서로 접속한다.
광 블록(961)은, 포커스 렌즈, 구경 조리개 메커니즘(aperture stop mechanism) 등을 포함한다. 광 블록(961)은 촬상부(962)의 촬상 표면 상에 피사체의 광학적 이미지를 형성한다. 촬상부(962)는, CCD 및 CMOS 등의 이미지 센서를 포함하고, 촬상 표면 상에 형성된 광학적 이미지를 이미지 신호로 변환하고, 이미지 신호는 광전 변환을 통해 전기 신호가 된다. 그러면, 촬상부(962)는 이미지 신호를 신호 처리부(963)에 출력한다.
신호 처리부(963)는, 촬상부(962)로부터 입력된 이미지 신호에 관해, 니 보정(knee correction), 감마 보정, 및 색상 보정 등의 다양한 카메라 신호 프로세스를 수행한다. 신호 처리부(963)는, 카메라 신호 프로세스가 실시된 이미지 데이터를 이미지 처리부(964)에 출력한다.
이미지 처리부(964)는 신호 처리부(963)로부터 입력된 이미지 데이터를 인코딩하여, 인코딩된 데이터를 생성한다. 그러면, 이미지 처리부(964)는 생성된 인코딩된 데이터를 외부 인터페이스(966) 또는 미디어 드라이브(968)에 출력한다. 이미지 처리부(964)는 또한, 외부 인터페이스(966) 또는 미디어 드라이브(968)로부터 입력된 인코딩된 데이터를 디코딩하고 이미지 데이터를 생성한다. 그 다음, 이미지 처리부(964)는 생성된 이미지 데이터를 디스플레이부(965)에 출력한다. 이미지 처리부(964)는 또한, 신호 처리부(963)로부터 입력된 이미지 데이터를 디스플레이부(965)에 출력하고, 이미지가 디스플레이되게 할 수 있다. 또한, 이미지 처리부(964)는 OSD(969)로부터 취득된 디스플레이를 위한 데이터를 디스플레이부(965)에 출력될 이미지 상에 중첩할 수 있다.
OSD(969)는, 메뉴, 버튼, 및 커서 등의 GUI의 이미지를 생성하고, 생성된 이미지를 이미지 처리부(964)에 출력한다.
외부 인터페이스(966)는, 예를 들어, USB 입력/출력 단자로서 구성된다. 외부 인터페이스(966)는, 예를 들어, 이미지의 인쇄시에, 촬상 장치(960)와 프린터를 접속한다. 드라이브는 또한, 필요하다면 외부 인터페이스(966)에 접속된다. 자기 디스크 및 광 디스크 등의 착탈식 매체가 드라이브 상에 장착되고, 착탈식 매체로부터 판독된 프로그램이 촬상 장치(960)에서 설치될 수 있다. 또한, 외부 인터페이스(966)는, LAN 및 인터넷 등의 네트워크에 접속되는 네트워크 인터페이스로서 구성될 수 있다. 즉, 외부 인터페이스(966)는 촬상 장치(960)의 송신 수단으로서 역할한다.
미디어 드라이브(968) 상에 장착되는 기록 매체는, 자기 디스크, 광자기 디스크, 광 디스크, 및 반도체 메모리 등의 판독가능하고 기록가능한 착탈식 매체일 수 있다. 기록 매체는 또한 미디어 드라이브(968) 상에 고정적으로 장착되어, 내장된 하드 디스크 드라이브나 고체 상태 드라이브(SSD) 등의 비수송 저장부(non-transportable storage section)를 구성할 수 있다.
제어부(970)는, CPU 등의 프로세서와, RAM 및 ROM 등의 메모리를 포함한다. 메모리는, CPU에 의해 실행되는 프로그램, 프로그램 데이터 등을 저장한다. 메모리에 저장된 프로그램은, 예를 들어, 촬상 장치(960)의 작동시에, CPU에 의해 판독되고 실행된다. CPU는, 예를 들어, 프로그램을 실행시킴으로써 사용자 인터페이스(971)로부터 입력된 동작 신호에 따라, 촬상 장치(960)의 동작을 제어한다.
사용자 인터페이스(971)는 제어부(970)에 접속된다. 사용자 인터페이스(971)는, 예를 들어, 사용자가 촬상 장치(960)를 동작시키는데 이용되는 버튼, 스위치 등을 포함한다. 사용자 인터페이스(971)는, 이들 구조적 요소를 통해 사용자에 의해 이루어진 동작을 검출하고, 동작 신호를 생성하며, 생성된 동작 신호를 제어부(970)에 출력한다.
이러한 구성을 갖는 촬상 장치(960)에서, 이미지 처리부(964)는, 전술된 실시예에 따른 이미지 인코딩 장치(10) 및 이미지 디코딩 장치(60)의 기능을 가진다. 따라서, 촬상 장치(960)가 서로 상이한 색상 범위를 갖는 층들에 관해 색상 범위 예측을 수행할 때, 색상 범위 예측의 정확도가 이미지의 영역으로 인해 열화되는 것을 방지하는 것이 가능하다.
[6-2. 스케일링가능한 비디오 코딩의 다양한 이용]
전술된 스케일링가능한 비디오 코딩의 이점은 다양한 사용에서 얻어질 수 있다. 3가지 이용례가 이하에서 설명된다.
(1) 제1 예
제1 예에서, 데이터를 선택적으로 송신하기 위해 스케일링가능한 비디오 코딩이 이용된다. 도 27을 참조하면, 데이터 송신 시스템(1000)은, 스트림 저장 장치(1001) 및 배포 서버(1002)를 포함한다. 배포 서버(1002)는 네트워크(1003)를 통해 수 개의 단말 장치에 접속된다. 네트워크(1003)는, 유선 네트워크, 무선 네트워크일 수 있거나, 또는 유선 및 무선 네트워크의 조합일 수 있다. 도 27은, 단말 장치의 예로서, 개인용 컴퓨터(PC)(1004), AV 장치(1005), 태블릿 장치(1006), 및 이동 전화(1007)를 나타낸다.
스트림 저장 장치(1001)는, 예를 들어, 이미지 인코딩 장치(10)에 의해 생성된 멀티플렉싱된 스트림을 포함하는 스트림 데이터(1011)를 저장한다. 멀티플렉싱된 스트림은, 베이스층(BL)의 인코딩된 스트림과 강화층(EL)의 인코딩된 스트림을 포함한다. 배포 서버(1002)는, 스트림 저장 장치(1001)에 저장된 스트림 데이터(1011)를 판독하여, 판독된 스트림 데이터(1011)의 적어도 일부를, 네트워크(1003)를 통해, PC(1004), AV 장치(1005), 태블릿 장치(1006), 및 이동 전화(1007)에 배포한다.
스트림이 단말 장치에 배포될 때, 배포 서버(1002)는 단말 장치의 성능 또는 통신 환경 등의 소정 조건에 기초하여 배포될 스트림을 선택한다. 예를 들어, 배포 서버(1002)는 단말 장치에 의해 취급될 수 있는 이미지 품질을 초과하는 높은 이미지 품질을 갖는 인코딩된 스트림은 단말 장치 내의 지연 또는 오버플로의 발생 또는 프로세서의 과부하를 피하기 위해 배포하지 않을 수 있다. 배포 서버(1002)는, 네트워크(1003)의 통신 대역의 점유를 피하기 위해 높은 이미지 품질을 갖는 인코딩된 스트림은 배포하지 않을 수 있다. 반면, 회피할 위험이 없거나 사용자와의 계약이나 소정의 조건에 기초하여 배포가 적절하다고 결정될 때, 배포 서버(1002)는 전체의 멀티플렉싱된 스트림을 단말 장치에 배포할 수 있다.
도 27의 예에서, 배포 서버(1002)는 스트림 저장 장치(1001)로부터 스트림 데이터(1011)를 판독한다. 배포 서버(1002)는 스트림 데이터(1011)를 높은 처리 성능을 갖는 PC(1004)에 변경없이 배포한다. AV 장치(1005)는 낮은 처리 성능을 갖기 때문에, 배포 서버(1002)는 스트림 데이터(1011)로부터 추출된 베이스층의 인코딩된 스트림만을 포함하는 스트림 데이터(1012)를 생성하고 그 스트림 데이터(1012)를 AV 장치(1005)에 배포한다. 배포 서버(1002)는 스트림 데이터(1011)를 높은 통신 속도에서 통신을 수행할 수 있는 태블릿 장치(1006)에 변경없이 배포한다. 이동 전화(1007)는 낮은 통신 속도에서만 통신을 수행할 수 있기 때문에, 배포 서버(1002)는 베이스층의 인코딩된 스트림만을 포함하는 스트림 데이터(1012)를 이동 전화(1007)에 배포한다.
이런 방식으로 멀티플렉싱된 스트림을 이용함으로써, 송신될 트래픽 양을 적응적으로 조절하는 것이 가능하다. 스트림 데이터(1011)의 인코딩 양은 각각의 층이 단독으로 인코딩될 때보다 더 감소된다. 따라서, 스트림 데이터(1011) 모두가 배포될 때에도, 네트워크(1003) 상의 부하는 억제된다. 또한, 스트림 저장 장치(1001)의 메모리 자원이 절감된다.
단말 장치의 하드웨어 성능은 장치에 따라 상이하다. 단말 장치에 의해 실행되는 애플리케이션의 능력도 역시 다양하다. 네트워크(1003)의 통신 용량도 역시 다양하다. 데이터를 송신하는데 이용될 수 있는 용량은 다른 트래픽의 존재로 인해 매 순간 달라질 수 있다. 따라서, 스트림 데이터의 배포의 시작 이전에, 배포 서버(1002)는, 단말 장치의 하드웨어 성능, 애플리케이션의 능력, 또는 이와 유사한 것에 관한 단말 정보와, 네트워크(1003)의 통신 용량에 관한 네트워크 정보를, 배포 목적지의 단말 장치와의 시그널링을 통해 취득할 수 있다. 그 다음, 배포 서버(1002)는 취득된 정보에 기초하여 배포될 스트림을 선택할 수 있다.
디코딩될 층은 단말 장치에서 추출될 수 있다. 예를 들어, PC(1004)는 수신된 멀티플렉싱된 스트림으로부터 추출되고 디코딩된 베이스층 이미지를 그 스크린 상에 디스플레이할 수 있다. PC(1004)는 수신된 멀티플렉싱된 스트림으로부터 베이스층의 인코딩된 스트림을 추출하고 스트림 데이터(1012)를 생성하여 스트림 데이터(1012)를 저장 매체에 저장하거나 생성된 스트림 데이터(1012)를 또 다른 장치에 송신할 수 있다.
도 27에 나타낸 데이터 송신 시스템(1000)의 구성은 예일 뿐이다. 데이터 송신 시스템(1000)은, 임의 개수의 스트림 저장 장치(1001), 배포 서버(1002), 네트워크(1003), 및 단말 장치를 포함할 수 있다.
(2) 제2 예
제2 예에서, 복수의 통신 채널을 통해 데이터를 송신하기 위해 스케일링가능한 비디오 코딩이 이용된다. 도 28을 참조하면, 데이터 송신 시스템(1100)은 방송국(1101) 및 단말 장치(1102)를 포함한다. 방송국(1101)은 지상파 채널(1111) 상에서 베이스층의 인코딩된 스트림(1121)을 방송한다. 방송국(1101)은 강화층의 인코딩된 스트림(1122)을 네트워크(1112)를 통해 단말 장치(1102)에 송신한다.
단말 장치(1102)는 방송국(1101)에 의해 방송된 지상파 방송을 수신하는 수신 기능을 가지며 지상파 채널(1111)을 통해 베이스층의 인코딩된 스트림(1121)을 수신한다. 단말 장치(1102)는 방송국(1101)과 통신하는 통신 기능을 가지며 네트워크(1112)를 통해 강화층의 인코딩된 스트림(1122)을 수신한다.
예를 들어, 단말 장치(1102)는 사용자로부터의 명령에 응답하여 베이스층의 인코딩된 스트림(1121)을 수신하고, 수신된 인코딩된 스트림(1121)으로부터 베이스층 이미지를 디코딩하여, 베이스층 이미지를 스크린 상에 디스플레이할 수 있다. 단말 장치(1102)는 디코딩된 베이스층 이미지를 저장 매체에 저장하거나 디코딩된 베이스층 이미지를 또 다른 장치에 송신할 수 있다.
예를 들어, 단말 장치(1102)는, 사용자로부터의 명령에 응답하여 네트워크(1112)를 통해 강화층의 인코딩된 스트림(1122)을 수신하고, 베이스층의 인코딩된 스트림(1121)과 강화층의 인코딩된 스트림(1122)을 멀티플렉싱하여 멀티플렉싱된 스트림을 생성한다. 단말 장치(1102)는 강화층의 인코딩된 스트림(1122)으로부터 강화층 이미지를 디코딩하고 강화층 이미지를 스크린 상에 디스플레이할 수 있다. 단말 장치(1102)는 디코딩된 강화층 이미지를 저장 매체에 저장하거나 디코딩된 강화층 이미지를 또 다른 장치에 송신할 수 있다.
전술된 바와 같이, 멀티플렉싱된 스트림에 포함된 층들의 인코딩된 스트림들은 각각의 층에 대한 상이한 통신 채널을 통해 송신될 수 있다. 따라서, 부하를 개개의 채널들 상에 분산하고 통신의 지연이나 오버플로의 발생을 억제하는 것이 가능하다.
송신에 이용될 통신 채널은 소정 조건에 따라 동적으로 선택될 수 있다. 예를 들어, 비교적 많은 데이터량을 갖는 베이스층의 인코딩된 스트림(1121)은 넓은 대역폭을 갖는 통신 채널을 통해 송신될 수 있고 비교적 작은 데이터량을 갖는 강화층의 인코딩된 스트림(1122)은 좁은 대역폭을 갖는 통신 채널을 통해 송신될 수 있다. 특정한 층의 인코딩된 스트림(1122)이 송신되는 통신 채널은 통신 채널의 대역폭에 따라 스위칭될 수 있다. 따라서, 개개의 채널 상의 부하를 더욱 효율적으로 억제하는 것이 가능하다.
도 28에 나타낸 데이터 송신 시스템(1100)의 구성은 예일 뿐이다. 데이터 송신 시스템(1100)은 임의 개수의 통신 채널과 단말 장치를 포함할 수 있다. 여기서 설명된 시스템의 구성은 방송 이외의 용도에서도 역시 이용될 수 있다.
(3) 제3 예
제3 예에서, 스케일링가능한 비디오 코딩은 비디오를 저장하는데 이용된다. 도 29를 참조하면, 데이터 송신 시스템(1200)은 촬영 장치(imaging device, 1201) 및 스트림 저장 장치(1202)를 포함한다. 촬영 장치(1201)는 피사체(1211)를 촬영함으로써 생성된 이미지 데이터에 관해 스케일링가능한 비디오 인코딩을 수행하고 멀티플렉싱된 스트림(1221)을 생성한다. 멀티플렉싱된 스트림(1221)은 베이스층의 인코딩된 스트림과 강화층의 인코딩된 스트림을 포함한다. 촬영 장치(1201)는 멀티플렉싱된 스트림(1221)을 스트림 저장 장치(1202)에 공급한다.
스트림 저장 장치(1202)는, 멀티플렉싱된 스트림(1221)이 각각의 모드에 대해 상이한 이미지 품질을 갖도록 촬영 장치(1201)로부터 공급된 멀티플렉싱된 스트림(1221)을 저장한다. 예를 들어, 정규 모드에서, 스트림 저장 장치(1202)는 멀티플렉싱된 스트림(1221)으로부터 베이스층의 인코딩된 스트림(1222)을 추출하고 베이스층의 추출된 인코딩된 스트림(1222)을 저장한다. 반면, 높은 이미지 품질 모드에서, 스트림 저장 장치(1202)는 멀티플렉싱된 스트림(1221)을 변경없이 저장한다. 따라서, 스트림 저장 장치(1202)는, 높은 이미지 품질로 비디오를 기록하는 것이 바람직할 때에만 많은 데이터량을 갖는 높은 이미지 품질 스트림을 기록할 수 있다. 따라서, 사용자에게 미치는 이미지 품질에서의 열화의 영향을 억제하면서 메모리 자원을 절감하는 것이 가능하다.
예를 들어, 촬영 장치(1201)는 모니터링 카메라인 것으로 가정된다. 모니터링 타겟(예를 들어, 침입자)이 포착된 이미지에서 묘사되지 않을 때, 정규 모드가 선택된다. 이 경우, 포착된 이미지가 중요하지 않을 가능성이 높으므로, 데이터량의 감소가 바람직하고 저품질 비디오가 기록된다(즉, 베이스층의 인코딩된 스트림(1222)만이 저장된다). 반면, 모니터링 타겟(예를 들어, 침입자인 피사체(1211))이 포착된 이미지에서 묘사될 때, 높은 이미지 품질 모드가 선택된다. 이 경우, 포착된 이미지가 중요할 가능성이 높으므로, 이미지 품질이 바람직하고 고품질 비디오가 기록된다(즉, 멀티플렉싱된 스트림(1221)이 저장된다).
도 29의 예에서, 예를 들어, 이미지 분석 결과에 기초하여 스트림 저장 장치(1202)에 의해 모드가 선택된다. 그러나, 본 개시는 이 예로 제한되지 않고, 촬영 장치(1201)가 모드를 선택할 수도 있다. 후자의 경우, 촬영 장치(1201)는 정규 모드에서 베이스층의 인코딩된 스트림(1222)을 스트림 저장 장치(1202)에 공급하고 높은 이미지 품질 모드에서 멀티플렉싱된 스트림(1221)을 스트림 저장 장치(1202)에 공급할 수 있다.
모드를 선택하기 위한 선택 기준으로서 임의의 기준이 이용될 수 있다. 예를 들어, 마이크로폰을 통해 취득된 오디오의 크기, 오디오의 파형 등에 따라 모드가 스위칭될 수도 있다. 모드는 또한 주기적으로 스위칭될 수도 있다. 모드는 또한 사용자로부터의 명령에 따라 스위칭될 수도 있다. 선택가능한 모드의 개수는, 모드의 개수가 계층화된 층들의 개수를 초과하지 않는 한 임의의 개수일 수 있다.
도 29에 나타낸 데이터 송신 시스템(1200)의 구성은 예일 뿐이다. 데이터 송신 시스템(1200)은 임의 개수의 촬영 장치(1201)를 포함할 수 있다. 여기서 설명된 시스템의 구성은 모니터링 카메라 이외의 용도에서도 역시 이용될 수 있다.
[6-3. 다른 코덱에의 응용]
(1) 멀티뷰 코덱에의 응용
멀티뷰 코덱은 다층 코덱의 일종이며 소위 멀티뷰 비디오를 인코딩 및 디코딩하기 위한 이미지 인코딩 방식이다. 도 30은 멀티뷰 코덱을 나타내는 설명도이다. 도 30을 참조하면, 3개 시점에서 포착된 3개의 뷰의 프레임 시퀀스가 도시되어 있다. 뷰 ID(view_id)가 각각의 뷰에 할당된다. 복수의 뷰 중 임의의 한 뷰는 베이스 뷰(base view)로서 지정된다. 베이스 뷰 이외의 뷰는 비-베이스 뷰(non-base view)라 부른다. 도 30의 예에서, "0"의 뷰 ID를 갖는 뷰가 베이스 뷰이고, "1" 및 "2"의 뷰 ID를 갖는 2개의 뷰는 비-베이스 뷰이다. 이들 뷰들이 계층적으로 인코딩될 때, 뷰는 층에 대응할 수 있다. 도면에서 화살표로 표시된 바와 같이, 비-베이스 뷰들의 이미지들은 베이스 뷰들의 이미지들을 참조하여 인코딩 및 디코딩된다(다른 베이스-베이스 뷰(other base-base view)의 이미지들이 참조된다).
도 31은 멀티뷰 코덱을 지원하는 이미지 인코딩 장치(10v)의 개략적 구성을 도시하는 블록도이다. 도 31을 참조하면, 이미지 인코딩 장치(10v)는, 제1 층 인코딩부(1c), 제2 층 인코딩부(1d), 공통 메모리(2) 및 멀티플렉싱부(3)를 포함한다.
제1 층 인코딩부(1c)의 기능은, 베이스층 이미지 대신에 베이스 뷰 이미지들이 입력으로서 수신된다는 점을 제외하고는 도 4를 참조하여 설명된 BL 인코딩부(1a)의 기능과 동일하다. 제1 층 인코딩부(1c)는 베이스 뷰 이미지들을 인코딩하여 제1 층의 인코딩된 스트림을 생성한다. 제2 층 인코딩부(1d)의 기능은, 강화층 이미지 대신에 비-베이스 뷰 이미지들이 입력으로서 수신된다는 점을 제외하고는 도 4를 참조하여 설명된 EL 인코딩부(1b)의 기능과 동일하다. 제2 층 인코딩부(1d)는 비-베이스 뷰 이미지들을 인코딩하여 제2 층의 인코딩된 스트림을 생성한다. 공통 메모리(2)는 층들간에 공통으로 이용되는 정보를 저장한다. 멀티플렉싱부(3)는 제1 층 인코딩부(1c)에 의해 생성된 제1 층의 인코딩된 스트림과 제2 층 인코딩부(1d)에 의해 생성된 제2 층의 인코딩된 스트림을 멀티플렉싱하여 멀티플렉싱된 다층 스트림을 생성한다.
도 32는 멀티뷰 코덱을 지원하는 이미지 디코딩 장치(60v)의 개략적 구성을 도시하는 블록도이다. 도 32를 참조하면, 이미지 디코딩 장치(60v)는, 디멀티플렉싱부(5), 제1 층 디코딩부(6c), 제2 층 디코딩부(6d), 및 공통 메모리(7)를 포함한다.
디멀티플렉싱부(5)는, 멀티플렉싱된 다층 스트림을 제1 층의 인코딩된 스트림과 제2 층의 인코딩된 스트림으로 디멀티플렉싱한다. 제1 층 디코딩부(6c)의 기능은, 베이스층 이미지 대신에 베이스 뷰 이미지들을 인코딩함으로써 얻어진 인코딩된 스트림이 입력으로서 수신된다는 점을 제외하고는 도 5를 참조하여 설명된 BL 디코딩부(6a)의 기능과 동일하다. 제1 층 디코딩부(6c)는 제1 층의 인코딩된 스트림으로부터 베이스 뷰 이미지를 디코딩한다. 제2 층 디코딩부(6d)의 기능은, 강화층 이미지 대신에 비-베이스 뷰 이미지들을 인코딩함으로써 얻어진 인코딩된 스트림이 입력으로서 수신된다는 점을 제외하고는 도 5를 참조하여 설명된 EL 디코딩부(6b)의 기능과 동일하다. 제2 층 디코딩부(6d)는 제2 층의 인코딩된 스트림으로부터 비-베이스 뷰 이미지를 디코딩한다. 공통 메모리(7)는 층들간에 공통으로 이용되는 정보를 저장한다.
멀티뷰 이미지 데이터의 인코딩 또는 디코딩시에 뷰들간에 색상 범위가 상이할 때, 뷰들간의 색상 범위의 변환은 본 개시의 기술에 따라 제어될 수 있다. 따라서, 스케일링가능한 비디오 코딩의 경우에서와 같이, 멀티뷰 코덱에서도 색상 범위의 예측시에 이미지의 영역에 기인하여 예측 정확도가 열화되는 것을 방지하는 것이 가능하다.
(2) 스트리밍 기술에의 응용
본 개시의 기술은 스트리밍 프로토콜에 적용될 수 있다. 예를 들어, DASH(MPEG-Dynamic Adaptive Streaming over HTTP)에서, 해상도 등의 상이한 파라미터를 갖는 복수의 인코딩된 스트림이 스트리밍 서버에서 미리 준비된다. 스트리밍 서버는 세그먼트의 단위로 복수의 인코딩된 스트림으로부터 스트리밍에 적절한 데이터를 동적으로 선택하고 선택된 데이터를 배포한다. 이러한 스트리밍 프로토콜에서, 인코딩된 스트림들 사이의 색상 범위의 예측은 본 개시의 기술에 따라 제어될 수 있다.
[6-4. 다양한 탑재 수준]
예를 들어, 본 개시의 기술은, 시스템 대규모 집적회로(LSI; large scale integration)의 프로세서, 복수의 프로세서를 이용하는 모듈, 복수의 모듈을 이용하는 유닛, 및 유닛에 다른 기능이 추가되는 세트 등의 다양한 탑재 수준에서 실현될 수 있다.
(1) 비디오 세트
본 개시의 기술이 세트로서 실현되는 경우의 예가 도 33을 참조하여 설명될 것이다. 도 33은 비디오 세트의 개략적 구성례를 나타내는 블록도이다.
최근에, 전자 장치들은 다기능화되었다. 전자 장치들의 개발 및 제조는 각각의 개별 기능에 대해 수행된 다음, 복수의 기능을 통합하는 단계가 수행된다. 따라서, 일부 사업 제조업체는 전자 장치의 일부만을 제조 및 판매한다. 사업 제조업체는 단일 기능 또는 복수의 서로 연관된 기능을 갖는 구성 요소를 제공하거나 통합된 기능 그룹을 갖는 세트를 제공한다. 도 33에 나타낸 비디오 세트(1300)는 이미지를 인코딩 및 디코딩하는(또는 인코딩 및 디코딩 중 하나만을 수행하는) 구성 요소와 구성 요소의 기능과 연관된 상이한 기능을 갖는 구성 요소를 포괄적으로 포함하는 세트이다.
도 33을 참조하면, 비디오 세트(1300)는, 비디오 모듈(1311), 외부 메모리(1312), 전력 관리 모듈(1313), 및 프론트 엔드 모듈(1314)을 포함하는 모듈 그룹과, 접속 모듈(1321), 카메라(1322), 센서(1323) 등을 포함하는 관련 기능을 위한 장치 그룹을 포함한다.
모듈은 수 개의 상호 연관된 기능을 위한 컴포넌트들을 집성(aggregating)함으로써 형성되는 구성 요소이다. 모듈은 임의의 물리적 구성을 가질 수 있다. 예를 들어, 모듈은, 동일하거나 상이한 기능을 갖는 복수의 프로세서, 저항 및 커패시터 등의 전자 회로 요소, 및 기타의 소자들을 회로 기판 상에서 통합된 방식으로 배치함으로써 형성될 수 있다. 또 다른 모듈, 프로세서 등을 소정의 모듈과 결합함으로써 별개의 모듈이 형성될 수 있다.
도 33의 예에서, 이미지 처리에 관련된 기능을 위한 컴포넌트들은 비디오 모듈(1311)에서 집성된다. 비디오 모듈(1311)은, 애플리케이션 프로세서(1331), 비디오 프로세서(1332), 광대역 모뎀(1333), 및 기저대역 모듈(1334)을 포함한다.
프로세서는, 예를 들어, 시스템 온 칩(SOC; system on a chip), 또는 시스템 대규모 집적회로(LSI)일 수 있다. SoC 또는 시스템 LSI는 미리결정된 로직이 탑재되는 하드웨어를 포함할 수 있다. SoC 또는 시스템 LSI는, CPU, 및 CPU가 미리결정된 기능을 실행하게 하는 프로그램을 저장하는 비일시적 유형의 매체를 포함할 수 있다. 예를 들어, 프로그램은 ROM에 저장될 수 있고 실행시에 랜덤 액세스 메모리(RAM)에 판독되어 CPU에 의해 실행된다.
애플리케이션 프로세서(1331)는 이미지 처리에 관련된 애플리케이션을 실행하는 프로세서이다. 애플리케이션 프로세서(1331)에 의해 실행되는 애플리케이션은, 예를 들어, 이미지 처리를 위한 소정의 계산 외에도 비디오 프로세서(1332) 및 기타의 구성 요소를 제어할 수 있다. 비디오 프로세서(1332)는, 이미지 인코딩 및 디코딩에 관련된 기능을 갖는 프로세서이다. 애플리케이션 프로세서(1331) 및 비디오 프로세서(1332)는 하나의 프로세서로 통합될 수 있다(도면에서 점선(1341)을 참조).
광대역 모뎀(1333)은, 인터넷 또는 공중 교환 전화망 등의 네트워크를 통한 통신에 관련된 프로세스를 수행하는 모듈이다. 예를 들어, 광대역 모뎀(1333)은 디지털 변조를 수행하여 송신된 데이터를 포함하는 디지털 신호를 아날로그 신호로 변환하고 디지털 복조를 수행하여 수신된 데이터를 포함하는 아날로그 신호를 디지털 신호로 변환한다. 예를 들어, 광대역 모뎀(1333)에 의해 처리되는 송신된 데이터와 수신된 데이터는, 이미지 데이터, 이미지 데이터의 인코딩된 스트림, 애플리케이션 데이터, 애플리케이션 프로그램, 및 설정 데이터 등의 임의의 정보를 포함할 수 있다.
기저대역 모듈(1334)은, 프론트 엔드 모듈(1314)을 통해 송신되고 수신되는 무선 주파수(RF) 신호에 관해 기저대역 처리를 수행하는 모듈이다. 예를 들어, 기저대역 모듈(1334)은, 송신된 데이터를 포함한 송신된 기저대역 신호를 변조하고, 신호의 주파수를 RF 신호의 주파수로 변환하며, RF 신호를 프론트 엔드 모듈(1314)에 출력한다. 기저대역 모듈(1334)은 프론트 엔드 모듈(1314)로부터 입력된 RF 신호의 주파수를 변환하고 RF 신호를 복조하여 수신된 데이터를 포함하는 수신된 기저대역 신호를 생성한다.
외부 메모리(1312)는 비디오 모듈(1311) 외부에 설치되고 비디오 모듈(311)로부터 액세스될 수 있는 메모리 장치이다. 수 개의 프레임을 포함하는 비디오 데이터 등의 대용량 데이터가 외부 메모리(1312)에 저장될 때, 외부 메모리(1312)는, 예를 들어, DRAM(dynamic random access memory) 등의 비교적 낮은 가격의 대용량 반도체 메모리를 포함할 수 있다.
전력 관리 모듈(1313)은 비디오 모듈(1311)과 프론트 엔드 모듈(1314)로의 전력 공급을 제어하는 모듈이다.
프론트 엔드 모듈(1314)은, 기저대역 모듈(1334)에 접속되고 프론트 엔드 기능을 공급하는 모듈이다. 도 33의 예에서, 프론트 엔드 모듈(1314)은, 안테나부(1351), 필터(1352), 및 애플리케이션부(1353)를 포함한다. 안테나부(1351)는, 무선 신호를 송신 또는 수신하는 하나 이상의 안테나 요소와 안테나 스위치 등의 관련 구성 요소를 포함한다. 안테나부(1351)는 애플리케이션부(1353)에 의해 증폭된 RF 신호를 무선 신호로서 송신한다. 안테나부(1351)는 무선 신호로서 수신된 RF 신호를 필터(1352)에 출력하고 필터(1352)가 RF 신호를 필터링하게 한다.
접속 모듈(1321)은 비디오 세트(1300)의 외부 접속에 관련된 기능을 갖는 모듈이다. 접속 모듈(1321)은 임의의 외부 접속 프로토콜을 지원할 수 있다. 예를 들어, 접속 모듈(1321)은, Bluetooth(등록 상표), IEEE802.11(예를 들어, Wi-Fi (등록 상표)), 근접장 통신(NFC), 또는 적외선 데이터 연합(IrDA; InfraRed Data Association) 등의 무선 접속 프로토콜을 지원하는 서브모듈 및 대응하는 안테나를 포함할 수 있다. 접속 모듈(1321)은, USB(Universal Serial Bus) 또는 HDMI(High-Definition Multimedia Interface) 등의 유선 접속 프로토콜을 지원하는 서브모듈 및 대응하는 접속 단자를 포함할 수 있다.
접속 모듈(1321)은, 자기 디스크, 광 디스크, 광자기 디스크, 또는 반도체 메모리 등의 저장 매체 또는 SSD(solid state drive) 또는 NAS(network attached storage) 등의 저장 장치에 데이터를 기록하고 이로부터 데이터를 판독하는 드라이브를 포함할 수 있다. 접속 모듈(1321)은 이러한 저장 매체 또는 저장 장치를 포함할 수 있다. 접속 모듈(1321)은 이미지를 출력하는 디스플레이 또는 오디오를 출력하는 스피커로의 접속을 제공할 수 있다.
카메라(1322)는 피사체를 촬영하여 포착된 이미지를 취득하는 모듈이다. 카메라(1322)에 의해 취득된 일련의 포착된 이미지는 비디오 데이터를 형성한다. 예를 들어, 카메라(1322)에 의해 생성된 비디오 데이터는 비디오 프로세서(1332)에 의해 인코딩되어 필요하다면 외부 메모리(1312) 또는 접속 모듈(1321)에 접속된 저장 매체에 저장될 수 있다.
센서(1323)는, GPS 센서, 오디오 센서, 초음파 센서, 광 센서, 조도 센서(illuminance sensor), 적외선 센서, 각속도 센서, 각가속도 센서, 속도 센서, 가속도 센서, 자이로 센서, 지자기 센서, 충격 센서, 및 온도 센서 중에서 하나 이상의 센서를 포함하는 모듈이다. 예를 들어, 센서(1323)에 의해 생성된 센서 데이터는 애플리케이션 프로세서(1331)가 애플리케이션을 실행하기 위해 이용될 수 있다.
이러한 구성을 갖는 비디오 세트(1300)에서, 본 개시의 기술은, 예를 들어, 비디오 프로세서(1332)에서 이용될 수 있다. 이 경우에, 비디오 세트(1300)는 본 개시의 기술이 적용되는 세트이다.
비디오 세트(1300)는 이미지 데이터를 처리하는 다양한 종류의 장치들 중 임의의 것으로서 실현될 수 있다. 예를 들어, 비디오 세트(1300)는, 도 23 내지 도 26을 참조하여 설명된, 텔레비전 장치(900), 이동 전화(920), 기록/재생 장치(940i), 또는 촬영 장치(960)에 대응할 수 있다. 비디오 세트(1300)는, 도 27을 참조하여 설명된 데이터 송신 시스템(1000)에서 PC(1004), AV 장치(1005), 태블릿 장치(1006) 또는 이동 전화(1007), 도 28을 참조하여 설명된 데이터 송신 시스템(1100)에서 방송국(1101) 또는 단말 장치(1102), 또는 도 29를 참조하여 설명된 데이터 송신 시스템(1200)에서 촬영 장치(1201) 또는 스트림 저장 장치(1202) 등의 단말 장치에 대응할 수 있다.
(2) 비디오 프로세서
도 34는 비디오 프로세서(1332)의 개략적 구성례를 도시하는 블록도이다. 비디오 프로세서(1332)는, 입력 비디오 신호와 입력 오디오 신호를 인코딩하여 비디오 데이터와 오디오 데이터를 생성하는 기능과 인코딩된 비디오 데이터와 오디오 데이터를 디코딩하여 출력 비디오 신호와 출력 오디오 신호를 생성하는 기능을 가진다.
도 34를 참조하면, 비디오 프로세서(1332)는, 비디오 입력 처리부(1401), 제1 스케일링부(1402), 제2 스케일링부(1403), 비디오 출력 처리부(1404), 프레임 메모리(1405), 메모리 제어부(1406), 인코딩/디코딩 엔진(1407), 비디오 엘리멘터리 스트림(ES; elementary stream) 버퍼들(1408A 및 1408B), 오디오 ES 버퍼들(1409A 및 1409B), 오디오 인코더(1410), 오디오 디코더(1411), 멀티플렉싱부(MUX)(1412), 디멀티플렉싱부(DEMUX)(1413), 및 스트림 버퍼(1414)를 포함한다.
비디오 입력 처리부(1401)는, 예를 들어, 접속 모듈(1321)로부터 입력된 비디오 신호를 디지털 이미지 데이터로 변환한다. 제1 스케일링부(1402)는 비디오 입력 처리부(1401)로부터 입력된 이미지 데이터에 관해 포멧 변환 및 스케일링(확장/축소)을 수행한다. 제2 스케일링부(1403)는 비디오 출력 처리부(1404)에 출력될 이미지 데이터에 관해 포멧 변환 및 스케일링(확장/축소)을 수행한다. 제1 스케일링부(1402) 및 제2 스케일링부(1403)에서의 포멧 변환은, 예를 들어, 4:2:2/Y-Cb-Cr 방식과 4:2:0/Y-Cb-Cr 방식 사이의 변환일 수 있다. 비디오 출력 처리부(1404)는 디지털 이미지 데이터를 출력 비디오 신호로 변환하고 출력 비디오 신호를 예를 들어 접속 모듈(1321)에 출력한다.
프레임 메모리(1405)는, 비디오 입력 처리부(1401), 제1 스케일링부(1402), 제2 스케일링부(1403), 비디오 출력 처리부(1404), 및 인코딩/디코딩 엔진(1407)에 의해 공유되는 이미지 데이터를 저장하는 메모리 장치이다. 프레임 메모리(1405)는, 예를 들어, DRAM 등의 반도체 메모리를 이용하여 실현될 수 있다.
메모리 제어부(1406)는, 액세스 관리 테이블(1406A)에 저장된 프레임 메모리(1405)에 대한 액세스 스케쥴에 따라 인코딩/디코딩 엔진(1407)으로부터 입력된 동기화 신호에 기초하여 프레임 메모리(1405)로의 액세스를 제어한다. 액세스 관리 테이블(1406A)은, 인코딩/디코딩 엔진(1407), 제1 스케일링부(1402), 제2 스케일링부(1403) 등에서 수행되는 프로세스에 따라 메모리 제어부(1406)에 의해 업데이트된다.
인코딩/디코딩 엔진(1407)은 이미지 데이터를 인코딩하여 인코딩된 비디오 스트림을 생성하는 인코딩 프로세스와 인코딩된 비디오 스트림으로부터 이미지 데이터를 디코딩하는 디코딩 프로세스를 수행한다. 예를 들어, 인코딩/디코딩 엔진(1407)은 프레임 메모리(1405)로부터 판독된 이미지 데이터를 인코딩하고 인코딩된 비디오 스트림을 비디오 ES 버퍼(1408A) 상에 순차적으로 기입한다. 예를 들어, 인코딩된 비디오 스트림은 비디오 ES 버퍼(1408B)로부터 순차적으로 판독되고 디코딩된 이미지 데이터는 프레임 메모리(1405) 상에 기입된다. 인코딩/디코딩 엔진(1407)은 프레임 메모리(1405)를 이들 프로세스들에서 작업 영역으로서 이용할 수 있다. 인코딩/디코딩 엔진(1407)은, 예를 들어, 각각의 최대 코딩 유닛(LCU)에 대한 프로세스가 시작하는 타이밍에서, 메모리 제어부(1406)에 동기화 신호를 출력한다.
비디오 ES 버퍼(1408A)는 인코딩/디코딩 엔진(1407)에 의해 생성된 인코딩된 비디오 스트림을 버퍼링한다. 비디오 ES 버퍼(1408A)에 의해 버퍼링된 인코딩된 비디오 스트림은 멀티플렉싱부(1412)에 출력된다. 비디오 ES 버퍼(1408B)는 디멀티플렉싱부(1413)로부터 입력된 인코딩된 비디오 스트림을 버퍼링한다. 비디오 ES 버퍼(1408B)에 의해 버퍼링된 인코딩된 비디오 스트림은 인코딩/디코딩 엔진(1407)에 출력된다.
오디오 ES 버퍼(1409A)는 오디오 인코더(1410)에 의해 생성된 인코딩된 오디오 스트림을 버퍼링한다. 오디오 ES 버퍼(1409A)에 의해 버퍼링된 인코딩된 오디오 스트림은 멀티플렉싱부(1412)에 출력된다. 오디오 ES 버퍼(1409B)는 디멀티플렉싱부(1413)로부터 입력된 인코딩된 오디오 스트림을 버퍼링한다. 오디오 ES 버퍼(1409B)에 의해 버퍼링된 인코딩된 오디오 스트림은 오디오 디코더(1411)에 출력된다.
오디오 인코더(1410)는, 예를 들어, 접속 모듈(1321)로부터 입력된 입력 오디오 신호를 디지털 오디오 신호로 변환하고, 입력 오디오 신호를, 예를 들어, MPEG 오디오 방식 또는 오디오 코드 넘버 3(AC3) 방식 등의 오디오 인코딩 방식에 따라 인코딩한다. 오디오 인코더(1410)는 인코딩된 오디오 스트림을 오디오 ES 버퍼(1409A)에 순차적으로 기입한다. 오디오 디코더(1411)는 오디오 ES 버퍼(1409B)로부터 입력된 인코딩된 오디오 스트림으로부터의 오디오 데이터를 디코딩하여 오디오 데이터를 아날로그 신호로 변환한다. 오디오 디코더(1411)는 재생된 아날로그 오디오 신호로서의 오디오 신호를 예를 들어 접속 모듈(1321)에 출력한다.
멀티플렉싱부(1412)는 인코딩된 비디오 스트림과 인코딩된 오디오 스트림을 멀티플렉싱하여 멀티플렉싱된 비트 스트림을 생성한다. 멀티플렉싱된 비트 스트림의 포멧은 임의의 포멧일 수 있다. 멀티플렉싱부(1412)는 미리결정된 헤더 정보를 비트 스트림에 추가할 수 있다. 멀티플렉싱부(1412)는 스트림의 포멧을 변환할 수 있다. 예를 들어, 멀티플렉싱부(1412)는 인코딩된 비디오 스트림과 인코딩된 오디오 스트림을 멀티플렉싱함으로써 얻어지는 트랜스포트 스트림(송신 포멧을 갖는 비트 스트림)을 생성할 수 있다. 멀티플렉싱부(1412)는 인코딩된 비디오 스트림과 인코딩된 오디오 스트림을 멀티플렉싱함으로써 얻어지는 파일 데이터(기록 포멧을 갖는 데이터)를 생성할 수 있다.
디멀티플렉싱부(1413)는, 멀티플렉싱부(1412)의 멀티플렉싱 방식에 대한 역 방식에 따라, 멀티플렉싱된 비트 스트림으로부터 인코딩된 비디오 스트림과 인코딩된 오디오 스트림을 디멀티플렉싱한다. 즉, 디멀티플렉싱부(1413)는 스트림 버퍼(1414)로부터 판독된 비트 스트림으로부터 비디오 스트림과 오디오 스트림을 추출(또는 분리)한다. 디멀티플렉싱부(1413)는 스트림의 포멧을 변환(역 변환)할 수 있다. 예를 들어, 디멀티플렉싱부(1413)는 스트림 버퍼(1414)를 통해 접속 모듈(1321) 또는 광대역 모뎀(1333)으로부터 입력될 수 있는 트랜스포트 스트림을 취득하고 트랜스포트 스트림을 비디오 스트림 및 오디오 스트림으로 변환할 수 있다. 디멀티플렉싱부(1413)는 스트림 버퍼(1414)를 통해 접속 모듈(1321)에 의해 저장 매체로부터 판독된 파일 데이터를 취득하고 파일 데이터를 비디오 스트림 및 오디오 스트림으로 변환할 수 있다.
스트림 버퍼(1414)는 비트 스트림을 버퍼링한다. 예를 들어, 스트림 버퍼(1414)는 멀티플렉싱부(1412)로부터 입력된 트랜스포트 스트림을 버퍼링하고, 미리결정된 타이밍에서 또는 외부로부터의 요청에 응답하여, 트랜스포트 스트림을, 예를 들어, 접속 모듈(1321) 또는 광대역 모뎀(1333)에 출력한다. 예를 들어, 스트림 버퍼(1414)는 멀티플렉싱부(1412)로부터 입력된 파일 데이터를 버퍼링하고, 미리결정된 타이밍에서 또는 외부로부터의 요청에 응답하여, 파일 데이터를 기록할 목적으로, 예를 들어, 접속 모듈(1321)에 출력한다. 스트림 버퍼(1414)는, 예를 들어, 접속 모듈(1321) 또는 광대역 모뎀(1333)을 통해 취득된 트랜스포트 스트림을 버퍼링하고, 미리결정된 타이밍에서 또는 외부로부터의 요청에 응답하여, 트랜스포트 스트림을 디멀티플렉싱부(1413)에 출력한다. 스트림 버퍼(1414)는, 예를 들어, 접속 모듈(1321)에 의해 저장 매체로부터 판독된 파일 데이터를 버퍼링하고, 미리결정된 타이밍에서 또는 외부로부터의 요청에 응답하여 파일 데이터를 디멀티플렉싱부(1413)에 출력한다.
이러한 구성을 갖는 비디오 프로세서(1332)에서, 본 개시의 기술은, 예를 들어, 인코딩/디코딩 엔진(1407)에서 이용될 수 있다. 이 경우에, 비디오 프로세서(1332)는 본 개시의 기술이 적용되는 칩 또는 모듈이다.
도 35는 비디오 프로세서(1332)의 또 다른 개략적 구성례를 도시하는 블록도이다. 도 35의 예에서, 비디오 프로세서(1332)는 미리결정된 방식에 따라 비디오 데이터를 인코딩 및 디코딩하는 기능을 가진다.
도 35를 참조하면, 비디오 프로세서(1332)는, 제어부(1511), 디스플레이 인터페이스(1512), 디스플레이 엔진(1513), 이미지 처리 엔진(1514), 내부 메모리(1515), 코덱 엔진(1516), 메모리 인터페이스(1517), 멀티플렉싱/디멀티플렉싱부(1518), 네트워크 인터페이스(1519), 및 비디오 인터페이스(1520)를 포함한다.
제어부(1511)는, 디스플레이 인터페이스(1512), 디스플레이 엔진(1513), 이미지 처리 엔진(1514), 및 코덱 엔진(1516) 등의, 비디오 프로세서(1332) 내의 다양한 처리부의 동작을 제어한다. 제어부(1511)는, 예를 들어, 메인 CPU(1531), 서브-CPU(1532), 및 시스템 제어기(1533)를 포함한다. 메인 CPU(1531)는 비디오 프로세서(1332) 내의 각각의 처리부의 동작을 제어하는 프로그램을 실행한다. 메인 CPU(1531)는 프로그램의 실행을 통해 생성된 제어 신호를 각각의 처리부에 공급한다. 서브-CPU(1532)는 메인 CPU(1531)의 보조 역할을 한다. 예를 들어, 서브-CPU(1532)는, 메인 CPU(1531)에 의해 실행되는 프로그램의 서브-프로세스 및 서브-루틴을 실행한다. 시스템 제어기(1533)는, 메인 CPU(1531) 및 서브-CPU(1532)에 의한 프로그램의 실행을 관리한다.
디스플레이 인터페이스(1512)는, 제어부(1511)의 제어하에, 이미지 데이터를, 예를 들어, 접속 모듈(1321)에 출력한다. 예를 들어, 디스플레이 인터페이스(1512)는, 디지털 이미지 데이터로부터 변환된 아날로그 이미지 신호 또는 디지털 이미지 데이터를 접속 모듈(1321)에 접속된 디스플레이에 출력한다. 디스플레이 엔진(1513)은, 이미지 데이터의 속성이 제어부(1511)의 제어하에 출력 목적지의 디스플레이의 명세에 적합하도록 이미지 데이터에 관해 포멧 변환, 크기 변환, 색상 범위 변환 등을 수행한다. 이미지 처리 엔진(1514)은 제어부(1511)의 제어하에 이미지 데이터에 관해 이미지 품질 개선의 목적으로 필터링 프로세스를 포함한 이미지 처리를 수행한다.
내부 메모리(1515)는, 디스플레이 엔진(1513), 이미지 처리 엔진(1514), 및 코덱 엔진(1516)에 의해 공유되고, 비디오 프로세서(1332) 내부에 설치되는 메모리 장치이다. 예를 들어, 내부 메모리(1515)는, 디스플레이 엔진(1513), 이미지 처리 엔진(1514), 및 코덱 엔진(1516) 사이에서 이미지 데이터가 입력 및 출력될 때 이용된다. 내부 메모리(1515)는 임의 종류의 메모리 장치일 수 있다. 예를 들어, 내부 메모리(1515)는 블록 단위의 이미지 데이터와 관련 파라미터를 저장하기 위해 비교적 작은 메모리 크기를 가질 수 있다. 내부 메모리(1515)는, 예를 들어, 작은 용량(예를 들어, 외부 메모리(1312)에 관해 비교적 작은 용량)을 갖고, SRAM(static random access memory)에서와 같이 빠른 응답 속도를 갖는 메모리일 수 있다.
코덱 엔진(1516)은 이미지 데이터를 인코딩하여 인코딩된 비디오 스트림을 생성하는 인코딩 프로세스와 인코딩된 비디오 스트림으로부터 이미지 데이터를 디코딩하는 디코딩 프로세스를 수행한다. 코덱 엔진(1516)에 의해 지원되는 이미지 인코딩 방식은 임의의 한 방식 또는 복수의 방식일 수 있다. 도 35의 예에서, 코덱 엔진(1516)은, MPEG-2 비디오 블록(1541), AVC/H.264 블록(1542), HEVC/H.265 블록(1543), HEVC/H.265 (스케일링가능한) 블록(1544), HEVC/H.265 (멀티뷰) 블록(1545), 및 MPEG-DASH 블록(1551)을 포함한다. 이들 기능 블록은 대응하는 이미지 인코딩 방식에 따라 이미지 데이터를 인코딩 및 디코딩한다.
MPEG-DASH 블록(1551)은, 이미지 데이터가 MPEG-DASH 방식에 따라 송신될 수 있게 하는 기능 블록이다. MPEG-DASH 블록(1551)은, 표준 명세에 따라 스트림의 생성과 생성된 스트림의 송신을 제어한다. 송신될 이미지 데이터의 인코딩과 디코딩은 코덱 엔진(1516)에 포함된 또 다른 기능 블록에 의해 수행될 수 있다.
메모리 인터페이스(1517)는 비디오 프로세서(1332)를 외부 메모리(1312)에 접속하는 인터페이스이다. 이미지 처리 엔진(1514) 또는 코덱 엔진(1516)에 의해 생성된 데이터는 메모리 인터페이스(1517)를 통해 외부 메모리(1312)에 출력된다. 또한, 외부 메모리(1312)로부터 입력된 데이터는 메모리 인터페이스(1517)를 통해 이미지 처리 엔진(1514) 또는 코덱 엔진(1516)에 공급된다.
멀티플렉싱/디멀티플렉싱부(1518)는 인코딩된 비디오 스트림 및 관련 비트 스트림에 관해 멀티플렉싱 및 디멀티플렉싱을 수행한다. 멀티플렉싱시에, 멀티플렉싱/디멀티플렉싱부(1518)는 미리결정된 헤더 정보를 멀티플렉싱된 스트림에 추가할 수 있다. 디멀티플렉싱시에, 멀티플렉싱/디멀티플렉싱부(1518)는 미리결정된 헤더 정보를 개개의 분리된 스트림에 추가할 수 있다. 즉, 멀티플렉싱/디멀티플렉싱부(1518)는 멀티플렉싱 또는 디멀티플렉싱과 함께 포멧 변환을 수행할 수 있다. 예를 들어, 멀티플렉싱/디멀티플렉싱부(1518)는, 복수의 비트 스트림과 송신 포멧을 갖는 멀티플렉싱된 스트림인 트랜스포트 스트림 사이에서 변환 및 역변환을 지원하고, 복수의 비트 스트림과 기록 포멧을 갖는 파일 데이터 사이에서 변환 및 역변환을 지원할 수 있다.
네트워크 인터페이스(1519)는, 예를 들어, 비디오 프로세서(1332)를 광대역 모뎀(1333) 또는 접속 모듈(1321)에 접속하는 인터페이스이다. 비디오 인터페이스(1520)는, 예를 들어, 비디오 프로세서(1332)를 접속 모듈(1321) 또는 카메라(1322)에 접속하는 인터페이스이다.
이러한 구성을 갖는 비디오 프로세서(1332)에서, 본 개시의 기술은, 예를 들어, 코덱 엔진(1516)에서 이용될 수 있다. 이 경우에, 비디오 프로세서(1332)는 본 개시의 기술이 적용되는 칩 또는 모듈이다.
비디오 프로세서(1332)의 구성은 전술된 2개 예로 제한되지 않는다. 예를 들어, 비디오 프로세서(1332)는 하나의 반도체 칩으로서 실현되거나 복수의 반도체 칩으로서 실현될 수 있다. 비디오 프로세서(1332)는, 복수의 반도체 또는 복수의 LSI의 조합을 라미네이팅(laminating)함으로써 형성되는 3차원 라미네이션 LSI로서 실현될 수 있다.
<7. 결론>
본 개시의 기술의 실시예가 도 1 내지 도 35를 참조하여 위에서 상세히 설명되었다. 전술된 실시예에서, 제1 층(예를 들어, 베이스층)의 색상 범위와는 상이한 색상 범위를 갖는 제2 층(예를 들어, 강화층)의 이미지가 제1 층의 이미지로부터 예측될 때 이용되는 예측 파라미터는 제2 층의 이미지에 포함된 각각의 블록에 대해 설정된다. 그 다음, 제2 층의 이미지가, 설정된 예측 파라미터를 이용하여 제1 층의 이미지로부터 예측된다. 따라서, 상이한 예측 파라미터들의 값들이 이미지 내의 또 다른 영역에서 이용될 수 있다. 따라서, 층간 예측의 정확도가 일부 영역들에서 열화되는 것을 방지하고 그에 따라 인코딩 효율을 향상시키는 것이 가능하다.
전술된 실시예에서, 색상 범위를 예측하는데 이용되는 예측 파라미터는, 제1 층의 각각의 색상 성분의 화소값에 멀티플렉싱되는 이득과 이득의 화소값의 곱에 가산되는 오프셋을 포함한다. 이득과 오프셋의 최적값은, 이미지에서 영역이 상이하면 상이할 수 있다. 따라서, 층간 예측의 고정확도의 달성의 면에서 각각의 블록에 대해 이득과 오프셋을 가변적으로 제어하는 것이 유익하다. 본 개시는 이 예로 제한되지 않을 뿐만 아니라, 오프셋은 예를 들어 각각의 블록에 대해 가변적으로 제어될 수 있다. 일부 경우에, 이득의 제어는 이미지의 특성이나 색상 범위의 타입에 따라 층간 예측의 정확도 향상에 거의 기여하지 않는다. 이러한 경우에, 각각의 블록에 대한 오프셋만을 가변적으로 제어함으로써, 정보의 중복 인코딩을 피하고 처리 자원의 낭비를 억제하는 것이 가능하다.
전술된 실시예에서, 블록은 LCU일 수 있다. 보통, 인코딩 프로세스와 디코딩 프로세스는 각각의 LCU에 대해 차례대로 수행되게끔 구현되므로, 각각의 LCU에 대한 색상 범위 예측의 예측 파라미터의 제어는 쉽게 구현에 적합하다.
소정 실시예에서, 관심대상의 블록의 예측 파라미터에는, 관심대상 블록에 인접한 인접 블록들 또는 기준 화상 내의 함께 위치한 블록들의 설정에 기초하여 예측 인코딩이 실시된다. 따라서, 블록들 모두에 관해 변경없이 예측 파라미터를 인코딩하는 방식에서보다 많은 예측 파라미터에 필요한 인코딩량을 감소시키는 것이 가능하다. 어느 기준 블록이 예측 인코딩에 이용되는지를 나타내는 파라미터 정보(기준 블록 정보)가 인코딩될 때, 복수의 기준 블록에 대한 후보들로부터 기준 블록을 융통성있는 방식으로 선택적으로 이용함으로써 더욱 효율적으로 예측 인코딩의 에러를 감소시키고 인코딩량을 감소시키는 것이 가능하다. 예측 인코딩의 에러를 나타내는 차이 정보가 인코딩될 때, 인코딩량이 감소될 수 있고 최적의 예측 파라미터들도 역시 각각의 블록에서 이용될 수 있다.
또 다른 실시예에서, 관심대상 블록의 예측 파라미터는, 관심대상 블록이 아니라 인접 블록 및 그 인접 블록에 대응하는 제1 층의 대응하는 블록의 화소값들을 이용하여 계산된다. 이 경우에, 디코더측은 또한, 디코딩된 인접 블록을 참조하여 예측 파라미터를 계산할 수 있다. 따라서, 인코더 및 디코더 양쪽 모두에서 각각의 블록에 대해 추가 정보를 인코딩하지 않고 최적의 예측 파라미터가 이용될 수 있다. 예측 파라미터를 계산하는데 이용되는 기준 화소들이 데시메이트되면, 비교적 많은 자원이 필요한 예측 파라미터 계산 프로세스의 부하를 감소시키는 것이 가능하다.
본 명세서에서 설명되는 용어 "CU", "PU", 및 "TU"란, HEVC에서 개개의 블록들에 관련된 신택스를 포함하는 논리 유닛들을 말한다. 이미지의 일부의 개개의 블록들만이 관심대상일 때, 이들 용어들은, 각각, "코딩 블록(CB)", "예측 블록(PB)", 및 "변형 블록(TB)"으로 대체될 수 있다. CB는, 코딩 트리 블록(CTB; coding tree block)을 쿼드-트리 형태로 계층적으로 분할함으로써 형성된다. 전체의 하나의 쿼드-트리는 CTB에 대응하고 CTB에 대응하는 논리 유닛은 코딩 트리 유닛(CTU; coding tree unit)이라 부른다. HEVC에서 CTB 및 CB는, CTB와 CB가 인코딩 프로세스의 처리 유닛이라는 점에서 H.264/AVC에서의 매크로 블록의 역할과 유사하다. 그러나, CTB와 CB는, 그 크기가 고정되지 않는다는 점에서 매크로 블록(매크로 블록의 크기는 보통 16×16 화소이다)과는 상이하다. CTB의 크기는, 16×16 화소, 32×32 화소, 및 64×64 화소로부터 선택되고 인코딩된 스트림에서 파라미터로서 지정된다. CB의 크기는 CTB의 분할의 깊이에 따라 변할 수 있다.
설명이 주로, 인트라 예측에 관한 정보와 색상 범위 변환에 관한 정보가 인코딩된 스트림의 헤더에서 멀티플렉싱되어 인코딩측으로부터 디코딩측으로 송신되는 예에 대해 이루어졌다. 그러나, 이러한 정보를 송신하는 기술은 이 예로 제한되지 않는다. 예를 들어, 정보는 인코딩된 비트 스트림으로 멀티플렉싱되지 않고, 인코딩된 비트 스트림과 연관된 별개의 데이터로서 송신 또는 기록될 수 있다. 용어 "연관시키다"란, 비트 스트림에 포함된 (슬라이스 및 블록 등의 이미지의 일부일 수도 있는) 이미지가 디코딩시에 이미지에 대응하는 정보와 함께 링크될 수 있다는 것을 의미한다. 즉, 정보는 이미지(또는 비트 스트림)의 경우와는 상이한 송신 경로를 통해 송신될 수도 있다. 정보는 또한, 이미지(또는 비트 스트림)의 경우와는 상이한 기록 매체(또는 동일한 기록 매체 내의 상이한 기록 영역)에 기록될 수도 있다. 정보와 이미지(또는 비트 스트림)는 또한, 복수의 프레임, 하나의 프레임, 및 프레임의 일부 등의 주어진 단위로 서로 연관될 수 있다.
본 발명의 바람직한 실시예가 첨부된 도면을 참조하여 전술되었지만, 본 개시는 물론 상기 예로 제한되지 않는다. 통상의 기술자라면, 첨부된 청구항의 범위 내의 다양한 변형 및 수정을 발견할 수 있을 것이고, 이들은 당연히 본 개시의 기술적 범위 내에 들 것이라는 것을 이해할 것이다.
추가적으로, 본 기술은 또한 하기와 같이 구성될 수 있다.
(1)
이미지 처리 장치로서,
제1 층의 색상 범위와는 상이한 색상 범위를 갖는 제2 층의 이미지가 상기 제1 층의 이미지로부터 예측될 때 이용되는 예측 파라미터를, 상기 제2 층의 이미지에 포함된 각각의 블록에 대해 설정하도록 구성된 설정부;
상기 설정부에 의해 각각의 블록에 대해 설정된 상기 예측 파라미터를 이용하여 상기 제1 층의 이미지로부터 상기 제2 층의 예측된 이미지를 생성하도록 구성된 예측부; 및
상기 예측부에 의해 생성된 예측된 이미지를 이용하여 상기 제2 층의 이미지를 디코딩하도록 구성된 디코딩부
를 포함하는 이미지 처리 장치.
(2)
(1)에 있어서,
상기 예측 파라미터는 이득과 상기 제1 층의 화소값에 곱해지는 오프셋을 포함하는, 이미지 처리 장치.
(3)
(1) 또는 (2)에 있어서,
상기 블록은 최대 코딩 유닛(LCU)인, 이미지 처리 장치.
(4)
(1) 내지 (3) 중 어느 하나에 있어서,
상기 설정부는, 제1 블록에서, 상기 제1 블록에 인접한 인접 블록들이거나 상기 제1 블록의 함께 위치한 블록들인 하나 이상의 기준 블록의 설정에 기초하여 예측된 값을 이용하여 예측 파라미터를 설정하는, 이미지 처리 장치.
(5)
(4)에 있어서,
상기 디코딩부는 어느 블록들이 상기 하나 이상의 기준 블록인지를 나타내는 기준 블록 정보를 디코딩하고,
상기 설정부는 상기 기준 블록 정보에 의해 표시된 상기 하나 이상의 기준 블록의 설정에 기초하여 상기 예측된 값을 취득하는, 이미지 처리 장치.
(6)
(5)에 있어서,
상기 기준 블록 정보가 아무 블록도 참조되지 않는다는 것을 나타내면, 상기 설정부는 상기 제1 블록에서 상기 예측 파라미터를 설정하고, 상기 예측 파라미터는 상기 디코딩부에 의해 디코딩된 파라미터 정보에 의해 지정되는, 이미지 처리 장치.
(7)
(4) 내지 (6) 중 어느 하나에 있어서,
상기 설정부는 상기 제1 블록에서 상기 예측 파라미터를 설정하고, 상기 예측 파라미터는 상기 예측된 값과 상기 디코딩부에 의해 디코딩된 차이값의 합에 대응하는, 이미지 처리 장치.
(8)
(1) 내지 (3) 중 어느 하나에 있어서,
상기 설정부는 상기 제1 블록에서 상기 예측 파라미터를 설정하고, 상기 예측 파라미터는 상기 제1 블록에 인접한 하나 이상의 인접 블록과 상기 하나 이상의 인접 블록에 대응하는 상기 제1 층의 하나 이상의 대응하는 블록의 화소값들을 이용하여 계산되는, 이미지 처리 장치.
(9)
(8)에 있어서,
상기 설정부는 상기 하나 이상의 인접 블록과 상기 하나 이상의 대응하는 블록의 화소들의 일부를 데시메이트하고 나머지 화소들의 화소값들을 이용하여 상기 예측 파라미터를 계산하는, 이미지 처리 장치.
(10)
(8) 또는 (9)에 있어서,
상기 설정부는 아무런 이용가능한 인접 블록도 갖지 않는 제2 블록에서 상기 예측 파라미터로서 디폴트 값을 설정하는, 이미지 처리 장치.
(11)
이미지 처리 방법으로서,
제1 층의 색상 범위와는 상이한 색상 범위를 갖는 제2 층의 이미지가 상기 제1 층의 이미지로부터 예측될 때 이용되는 예측 파라미터를, 상기 제2 층의 이미지에 포함된 각각의 블록에 대해 설정하는 단계;
각각의 블록에 대해 설정된 상기 예측 파라미터를 이용하여 상기 제1 층의 이미지로부터 상기 제2 층의 예측된 이미지를 생성하는 단계; 및
상기 생성된 예측된 이미지를 이용하여 상기 제2 층의 이미지를 디코딩하는 단계
를 포함하는 이미지 처리 방법.
(12)
이미지 처리 장치로서,
제1 층의 색상 범위와는 상이한 색상 범위를 갖는 제2 층의 이미지가 상기 제1 층의 이미지로부터 예측될 때 이용되는 예측 파라미터를, 상기 제2 층의 이미지에 포함된 각각의 블록에 대해 설정하도록 구성된 설정부;
상기 설정부에 의해 각각의 블록에 대해 설정된 상기 예측 파라미터를 이용하여 상기 제1 층의 이미지로부터 상기 제2 층의 예측된 이미지를 생성하도록 구성된 예측부; 및
상기 예측부에 의해 생성된 예측된 이미지를 이용하여 상기 제2 층의 이미지를 인코딩하도록 구성된 인코딩부
를 포함하는 이미지 처리 장치.
(13)
(12)에 있어서,
상기 예측 파라미터는 이득과 상기 제1 층의 화소값에 곱해지는 오프셋을 포함하는, 이미지 처리 장치.
(14)
(12) 또는 (13)에 있어서,
상기 블록은 최대 코딩 유닛(LCU)인, 이미지 처리 장치.
(15)
(12) 내지 (14) 중 어느 하나에 있어서,
상기 인코딩부는, 제1 블록에 인접한 인접 블록들이거나 상기 제1 블록의 함께 위치한 블록들인 하나 이상의 기준 블록의 설정에 기초하여 예측된 값을 이용하여 제1 블록에서 설정될 상기 예측 파라미터를 인코딩하는, 이미지 처리 장치.
(16)
(15)에 있어서,
상기 인코딩부는 또한, 어느 블록들이 상기 하나 이상의 기준 블록인지를 나타내는 기준 블록 정보를 인코딩하는, 이미지 처리 장치.
(17)
(12) 내지 (14) 중 어느 하나에 있어서,
상기 설정부는 상기 제1 블록에서 상기 예측 파라미터를 설정하고, 상기 예측 파라미터는 상기 제1 블록에 인접한 하나 이상의 인접 블록과 상기 하나 이상의 인접 블록에 대응하는 상기 제1 층의 하나 이상의 대응하는 블록의 화소값들을 이용하여 계산되는, 이미지 처리 장치.
(18)
(17)에 있어서,
상기 설정부는 상기 하나 이상의 인접 블록과 상기 하나 이상의 대응하는 블록의 화소들의 일부를 데시메이트하고 나머지 화소들의 화소값들을 이용하여 상기 예측 파라미터를 계산하는, 이미지 처리 장치.
(19)
(17) 또는 (18)에 있어서,
상기 설정부는 아무런 이용가능한 인접 블록도 갖지 않는 제2 블록에서 상기 예측 파라미터로서 디폴트 값을 설정하는, 이미지 처리 장치.
(20)
이미지 처리 방법으로서,
제1 층의 색상 범위와는 상이한 색상 범위를 갖는 제2 층의 이미지가 상기 제1 층의 이미지로부터 예측될 때 이용되는 예측 파라미터를, 상기 제2 층의 이미지에 포함된 각각의 블록에 대해 설정하는 단계;
각각의 블록에 대해 설정된 상기 예측 파라미터를 이용하여 상기 제1 층의 이미지로부터 상기 제2 층의 예측된 이미지를 생성하는 단계; 및
상기 생성된 예측된 이미지를 이용하여 상기 제2 층의 이미지를 인코딩하는 단계
를 포함하는 이미지 처리 방법.
추가적으로, 본 기술은 또한 하기와 같이 구성될 수 있다.
(1)
이미지 처리 장치로서,
제1 층의 색상 범위와는 상이한 색상 범위를 갖는 제2 층의 이미지가 상기 제1 층의 이미지로부터 예측될 때 이용되는 예측 파라미터를, 상기 제2 층의 이미지에 포함된 각각의 블록에 대해 설정하도록 구성된 설정부;
상기 설정부에 의해 각각의 블록에 대해 설정된 상기 예측 파라미터를 이용하여 상기 제1 층의 이미지로부터 상기 제2 층의 예측된 이미지를 생성하도록 구성된 예측부; 및
상기 예측부에 의해 생성된 예측된 이미지를 이용하여 상기 제2 층의 이미지를 디코딩하도록 구성된 디코딩부를 포함하고,
상기 예측 파라미터들은 상기 제1 층의 화소값과 이득의 곱에 가산되는 오프셋을 포함하고,
상기 설정부는 복수의 블록에 걸쳐 고정된 이득으로서 상기 이득을 설정하고 각각의 블록에 대한 가변 오프셋으로서 상기 오프셋을 설정하는, 이미지 처리 장치.
(2)
이미지 처리 장치로서,
제1 층의 색상 범위와는 상이한 색상 범위를 갖는 제2 층의 이미지가 상기 제1 층의 이미지로부터 예측될 때 이용되는 예측 파라미터를, 상기 제2 층의 이미지에 포함된 각각의 블록에 대해 설정하도록 구성된 설정부;
상기 설정부에 의해 각각의 블록에 대해 설정된 상기 예측 파라미터를 이용하여 상기 제1 층의 이미지로부터 상기 제2 층의 예측된 이미지를 생성하도록 구성된 예측부; 및
상기 예측부에 의해 생성된 예측된 이미지를 이용하여 상기 제2 층의 이미지를 인코딩하도록 구성된 인코딩부를 포함하고,
상기 예측 파라미터들은 상기 제1 층의 화소값과 이득의 곱에 가산되는 오프셋을 포함하고,
상기 설정부는 복수의 블록에 걸쳐 고정된 이득으로서 상기 이득을 설정하고 각각의 블록에 대한 가변 오프셋으로서 상기 오프셋을 설정하는, 이미지 처리 장치.
10, 10v: 이미지 인코딩 장치(이미지 처리 장치)
16: 무손실 인코딩부
42: 예측부
43, 48: 파라미터 설정부
60, 60v: 이미지 디코딩 장치(이미지 처리 장치)
62: 무손실 디코딩부
92: 예측부
93, 98: 파라미터 설정부

Claims (12)

  1. 이미지 처리 장치로서,
    제1 층의 색상 범위(color gamut)와는 상이한 색상 범위를 갖는 제2 층의 이미지가 상기 제1 층의 이미지로부터 예측될 때 이용되는 예측 파라미터를, 상기 제2 층의 이미지에 포함된 각각의 블록에 대해 설정하도록 구성된 설정부;
    상기 설정부에 의해 각각의 블록에 대해 설정된 상기 예측 파라미터를 이용하여 상기 제1 층의 이미지로부터 상기 제2 층의 예측된 이미지를 생성하도록 구성된 예측부; 및
    상기 예측부에 의해 생성된 예측된 이미지를 이용하여 상기 제2 층의 이미지를 디코딩하도록 구성된 디코딩부
    를 포함하고,
    상기 설정부는 상기 제1 블록에서 상기 예측 파라미터를 설정하고, 상기 예측 파라미터는 상기 제1 블록에 인접한 하나 이상의 인접 블록과 상기 하나 이상의 인접 블록에 대응하는 상기 제1 층의 하나 이상의 대응하는 블록의 화소값들을 이용하여 계산되는, 이미지 처리 장치.
  2. 제1항에 있어서, 상기 예측 파라미터는 이득과 상기 제1 층의 화소값에 곱해지는 오프셋을 포함하는, 이미지 처리 장치.
  3. 제1항에 있어서, 상기 블록은 최대 코딩 유닛(LCU; largest coding unit)인, 이미지 처리 장치.
  4. 제1항에 있어서, 상기 설정부는 상기 하나 이상의 인접 블록과 상기 하나 이상의 대응하는 블록의 화소들의 일부를 데시메이트(decimate)하고 나머지 화소들의 화소값들을 이용하여 상기 예측 파라미터를 계산하는, 이미지 처리 장치.
  5. 제1항에 있어서, 상기 설정부는 아무런 이용가능한 인접 블록도 갖지 않는 제2 블록에서 상기 예측 파라미터로서 디폴트 값(default value)을 설정하는, 이미지 처리 장치.
  6. 이미지 처리 방법으로서,
    제1 층의 색상 범위와는 상이한 색상 범위를 갖는 제2 층의 이미지가 상기 제1 층의 이미지로부터 예측될 때 이용되는 예측 파라미터를, 상기 제2 층의 이미지에 포함된 각각의 블록에 대해 설정하는 단계;
    각각의 블록에 대해 설정된 상기 예측 파라미터를 이용하여 상기 제1 층의 이미지로부터 상기 제2 층의 예측된 이미지를 생성하는 단계; 및
    상기 생성된 예측된 이미지를 이용하여 상기 제2 층의 이미지를 디코딩하는 단계
    를 포함하고,
    상기 제1 블록에 인접한 하나 이상의 인접 블록과 상기 하나 이상의 인접 블록에 대응하는 상기 제1 층의 하나 이상의 대응하는 블록의 화소값들을 이용하여 계산되는 상기 예측 파라미터가 상기 제1 블록에서 설정되는, 이미지 처리 방법.
  7. 이미지 처리 장치로서,
    제1 층의 색상 범위와는 상이한 색상 범위를 갖는 제2 층의 이미지가 상기 제1 층의 이미지로부터 예측될 때 이용되는 예측 파라미터를, 상기 제2 층의 이미지에 포함된 각각의 블록에 대해 설정하도록 구성된 설정부;
    상기 설정부에 의해 각각의 블록에 대해 설정된 상기 예측 파라미터를 이용하여 상기 제1 층의 이미지로부터 상기 제2 층의 예측된 이미지를 생성하도록 구성된 예측부; 및
    상기 예측부에 의해 생성된 예측된 이미지를 이용하여 상기 제2 층의 이미지를 인코딩하도록 구성된 인코딩부
    를 포함하고,
    상기 설정부는 상기 제1 블록에서 상기 예측 파라미터를 설정하고, 상기 예측 파라미터는 상기 제1 블록에 인접한 하나 이상의 인접 블록과 상기 하나 이상의 인접 블록에 대응하는 상기 제1 층의 하나 이상의 대응하는 블록의 화소값들을 이용하여 계산되는, 이미지 처리 장치.
  8. 제7항에 있어서, 상기 예측 파라미터는 이득과 상기 제1 층의 화소값에 곱해지는 오프셋을 포함하는, 이미지 처리 장치.
  9. 제7항에 있어서, 상기 블록은 최대 코딩 유닛(LCU)인, 이미지 처리 장치.
  10. 제7항에 있어서, 상기 설정부는 상기 하나 이상의 인접 블록과 상기 하나 이상의 대응하는 블록의 화소들의 일부를 데시메이트하고 나머지 화소들의 화소값들을 이용하여 상기 예측 파라미터를 계산하는, 이미지 처리 장치.
  11. 제7항에 있어서, 상기 설정부는 아무런 이용가능한 인접 블록도 갖지 않는 제2 블록에서 상기 예측 파라미터로서 디폴트 값을 설정하는, 이미지 처리 장치.
  12. 이미지 처리 방법으로서,
    제1 층의 색상 범위와는 상이한 색상 범위를 갖는 제2 층의 이미지가 상기 제1 층의 이미지로부터 예측될 때 이용되는 예측 파라미터를, 상기 제2 층의 이미지에 포함된 각각의 블록에 대해 설정하는 단계;
    각각의 블록에 대해 설정된 상기 예측 파라미터를 이용하여 상기 제1 층의 이미지로부터 상기 제2 층의 예측된 이미지를 생성하는 단계; 및
    상기 생성된 예측된 이미지를 이용하여 상기 제2 층의 이미지를 인코딩하는 단계
    를 포함하고,
    상기 제1 블록에 인접한 하나 이상의 인접 블록과 상기 하나 이상의 인접 블록에 대응하는 상기 제1 층의 하나 이상의 대응하는 블록의 화소값들을 이용하여 계산되는 상기 예측 파라미터가 상기 제1 블록에서 설정되는, 이미지 처리 방법.
KR1020157003270A 2013-07-12 2014-06-04 이미지 처리 장치 및 이미지 처리 방법 KR20160031989A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2013146344 2013-07-12
JPJP-P-2013-146344 2013-07-12
PCT/JP2014/064824 WO2015005025A1 (ja) 2013-07-12 2014-06-04 画像処理装置及び画像処理方法

Publications (1)

Publication Number Publication Date
KR20160031989A true KR20160031989A (ko) 2016-03-23

Family

ID=52279718

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157003270A KR20160031989A (ko) 2013-07-12 2014-06-04 이미지 처리 장치 및 이미지 처리 방법

Country Status (8)

Country Link
US (1) US20150229932A1 (ko)
EP (1) EP3021585A4 (ko)
JP (1) JPWO2015005025A1 (ko)
KR (1) KR20160031989A (ko)
CN (1) CN104604227A (ko)
BR (1) BR112015004957A2 (ko)
RU (1) RU2015107755A (ko)
WO (1) WO2015005025A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10840744B2 (en) 2015-03-04 2020-11-17 Apple Inc. Inductive power transmitter
WO2016166838A1 (ja) * 2015-04-15 2016-10-20 ソニー株式会社 再生装置、再生方法、およびプログラム
EP3310055A4 (en) 2015-06-09 2018-06-20 Huawei Technologies Co. Ltd. Image encoding/decoding method and apparatus
GB2596496B (en) * 2015-09-11 2022-05-18 Kt Corp Method and device for processing video signal
KR102130791B1 (ko) 2015-11-19 2020-07-06 애플 인크. 유도 전력 송신기
JP2017099616A (ja) * 2015-12-01 2017-06-08 ソニー株式会社 手術用制御装置、手術用制御方法、およびプログラム、並びに手術システム
CN109496380B (zh) 2016-04-04 2022-04-05 苹果公司 感应式功率发射器
US10389281B2 (en) * 2016-10-20 2019-08-20 Texas Instruments Incorporated Correcting offset and gain drift related angle errors with motor position detectors
TW201944778A (zh) * 2018-04-09 2019-11-16 晨星半導體股份有限公司 幀內預測模式決定裝置與幀內預測模式決定方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8218625B2 (en) * 2004-04-23 2012-07-10 Dolby Laboratories Licensing Corporation Encoding, decoding and representing high dynamic range images
US8026953B2 (en) * 2004-05-11 2011-09-27 Samsung Electronics Co., Ltd. Method for processing color image data
US8045614B2 (en) * 2005-05-11 2011-10-25 Dolby Laboratories Licensing Corporation Quantization control for variable bit depth
US20050259729A1 (en) * 2004-05-21 2005-11-24 Shijun Sun Video coding with quality scalability
WO2008117963A1 (en) * 2007-03-23 2008-10-02 Lg Electronics Inc. A method and an apparatus for decoding/encoding a video signal
US8014613B2 (en) * 2007-04-16 2011-09-06 Sharp Laboratories Of America, Inc. Methods and systems for inter-layer image parameter prediction
US8085852B2 (en) * 2007-06-26 2011-12-27 Mitsubishi Electric Research Laboratories, Inc. Inverse tone mapping for bit-depth scalable image coding
US7983496B2 (en) * 2007-06-26 2011-07-19 Mitsubishi Electric Research Laboratories, Inc. Inverse tone mapping for bit-depth scalable image coding adapted to variable block sizes
US8175158B2 (en) * 2008-01-04 2012-05-08 Sharp Laboratories Of America, Inc. Methods and systems for inter-layer image prediction parameter determination
JP5222870B2 (ja) * 2010-03-05 2013-06-26 日本放送協会 イントラ予測装置、符号化器、復号器及びプログラム
JP5509390B2 (ja) * 2010-09-03 2014-06-04 ドルビー ラボラトリーズ ライセンシング コーポレイション ビデオ符号化および処理のための照明補償および遷移のための方法およびシステム
JP6345650B2 (ja) * 2013-04-05 2018-06-20 サターン ライセンシング エルエルシーSaturn Licensing LLC 画像処理装置及び画像処理方法

Also Published As

Publication number Publication date
EP3021585A1 (en) 2016-05-18
US20150229932A1 (en) 2015-08-13
WO2015005025A1 (ja) 2015-01-15
BR112015004957A2 (pt) 2019-09-24
CN104604227A (zh) 2015-05-06
RU2015107755A (ru) 2016-09-27
JPWO2015005025A1 (ja) 2017-03-02
EP3021585A4 (en) 2017-03-01

Similar Documents

Publication Publication Date Title
JP6780761B2 (ja) 画像符号化装置および方法
KR102307099B1 (ko) 화상 처리 장치 및 화상 처리 방법
JP6094688B2 (ja) 画像処理装置及び画像処理方法
JP6345650B2 (ja) 画像処理装置及び画像処理方法
JP6455434B2 (ja) 画像処理装置及び画像処理方法
KR20160031989A (ko) 이미지 처리 장치 및 이미지 처리 방법
KR20150032257A (ko) 복호 장치 및 복호 방법
WO2013164922A1 (ja) 画像処理装置及び画像処理方法
WO2013150838A1 (ja) 画像処理装置及び画像処理方法
US20160255346A1 (en) Decoding device, decoding method, encoding device, and encoding method
WO2015053001A1 (ja) 画像処理装置及び画像処理方法
WO2015146278A1 (ja) 画像処理装置及び画像処理方法
JP2015173312A (ja) 画像符号化装置および方法、並びに画像復号装置および方法
WO2015098561A1 (ja) 復号装置および復号方法、並びに、符号化装置および符号化方法
WO2014156708A1 (ja) 画像復号装置および方法
WO2015005024A1 (ja) 画像処理装置及び画像処理方法
WO2015053112A1 (ja) 復号装置および復号方法、並びに、符号化装置および符号化方法
WO2014050311A1 (ja) 画像処理装置及び画像処理方法
WO2015098563A1 (ja) 画像符号化装置および方法、並びに画像復号装置および方法
WO2015053111A1 (ja) 復号装置および復号方法、並びに、符号化装置および符号化方法
WO2015098231A1 (ja) 画像処理装置及び画像処理方法

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid