KR102242721B1 - 화상 처리 장치 및 방법 - Google Patents

화상 처리 장치 및 방법 Download PDF

Info

Publication number
KR102242721B1
KR102242721B1 KR1020157015965A KR20157015965A KR102242721B1 KR 102242721 B1 KR102242721 B1 KR 102242721B1 KR 1020157015965 A KR1020157015965 A KR 1020157015965A KR 20157015965 A KR20157015965 A KR 20157015965A KR 102242721 B1 KR102242721 B1 KR 102242721B1
Authority
KR
South Korea
Prior art keywords
layer
unit
image
parameter
decoding
Prior art date
Application number
KR1020157015965A
Other languages
English (en)
Other versions
KR20150099743A (ko
Inventor
가즈시 사토
Original Assignee
소니 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 소니 주식회사 filed Critical 소니 주식회사
Priority to KR1020217011017A priority Critical patent/KR102307026B1/ko
Publication of KR20150099743A publication Critical patent/KR20150099743A/ko
Application granted granted Critical
Publication of KR102242721B1 publication Critical patent/KR102242721B1/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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • 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
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • 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/162User input

Abstract

본 개시는, 적절한 타이밍에 복호 처리를 행할 수 있도록 하는 화상 처리 장치 및 방법에 관한 것이다. HRD 타입 설정부는, 유저의 지시하에 디코더 버퍼를 관리하는 파라미터인 HRD 파라미터 타입을 결정하고, 결정된 HRD 파라미터 타입에 따라서, 축적 버퍼나, 베이스 레이어 화상 부호화부의 축적 버퍼(하위 계층)로부터, 축적 상태를 나타내는 정보를 취득한다. HRD 타입 설정부는, 취득된 정보에 기초하여 HRD 파라미터를 산출하고, HRD 파라미터 타입을 나타내는 플래그와, HRD 파라미터를 가역 부호화부에 부호화시킨다. 본 개시는, 예를 들어 화상 처리 장치에 적용할 수 있다.

Description

화상 처리 장치 및 방법{IMAGE PROCESSING DEVICE AND METHOD}
본 개시는, 화상 처리 장치 및 방법에 관한 것으로, 특히 스케일러블 부호화에 있어서, 적절한 타이밍에 복호 처리를 행할 수 있도록 한 화상 처리 장치 및 방법에 관한 것이다.
최근 들어, 화상 정보를 디지털로서 취급하고, 그때, 효율 높은 정보의 전송, 축적을 목적으로, 화상 정보 특유의 용장성을 이용하여, 이산 코사인 변환 등의 직교 변환과 움직임 보상에 의해 압축하는 부호화 방식을 채용하여 화상을 압축 부호하는 장치가 보급되고 있다. 이 부호화 방식에는, 예를 들어 MPEG(Moving Picture Experts Group)이나 H.264 및 MPEG-4 Part10 Advanced Video Coding(이하 'AVC'라 기재함) 등이 있다.
그리고, 현재, H. 264/AVC보다 가일층 부호화 효율의 향상을 목적으로, ITU-T와 ISO/IEC의 공동의 표준화 단체인 JCTVC(Joint Collaboration Team-Video Coding)에 의해, HEVC(High Efficiency Video Coding)라 불리는 부호화 방식의 표준화가 진행되고 있다. 또한, 그 드래프트로서 비특허문헌 1이 발행되었다.
그런데, 이제까지의 MPEG-2나 AVC와 같은 화상 부호화 방식은, 화상을 복수의 레이어로 계층화하여 부호화하는 스케일러빌리티(scalability) 기능을 갖고 있었다.
즉, 예를 들어 휴대 전화기와 같은, 처리 능력이 낮은 단말기에 대해서는, 베이스 레이어(base layer)만의 화상 압축 정보를 전송하고, 공간 시간 해상도가 낮거나, 혹은 화질이 좋지 않은 동화상을 재생하고, 텔레비전이나 퍼스널 컴퓨터와 같은, 처리 능력이 높은 단말기에 대해서는, 베이스 레이어(base layer) 외에, 인핸스먼트 레이어(enhancement layer)의 화상 압축 정보를 전송하고, 공간 시간 해상도가 높거나, 혹은 화질이 높은 동화상을 재생한다는 것처럼, 트랜스 코드 처리를 행하지 않고, 단말기나 네트워크의 능력에 따른 화상 압축 정보를, 서버로부터 송신하는 것이 가능해진다.
HEVC에 있어서는, 화상 압축 정보의 복호 처리를 행할 때, 버퍼의 오버플로우나 언더플로우가 일어나지 않도록, HRD(Hypothetical Reference Decoder) 파라미터를 지정하는 것이 가능하다. 특히, 스케일러블 부호화를 행할 때에는, 계층마다 HRD 파라미터를 지정할 수 있다(비특허문헌 2 참조).
Benjamin Bross, Woo-Jin Han, Jens-Rainer Ohm, Gary J. Sullivan, Thomas Wiegand, "High efficiency video coding(HEVC) text specification draft 9", JCTVC-K1003, 2012, 10, 21 Jill Boyce, Ye-Kui Wang, "NAL unit header and parameter set designs for HEVC extensions", JCTVC-K1007, 2012, 10, 19
그러나, 계층마다, 혹은 그 서브 계층의 하나인 시간 계층마다, HRD 파라미터를 지정하는 경우, 그 복호 처리가, 단일의 복호 장치에 의해 행해지는 것인지, 복수의 복호 장치에 의해 행해지는 것인지 알 수 없었다.
본 개시는, 이와 같은 상황을 감안하여 이루어진 것으로, 적절한 타이밍에 복호 처리를 행할 수 있는 것이다.
본 개시의 일 측면의 화상 처리 장치는, 적어도 하나의 레이어를 갖는 화상이 부호화된 비트림과, 디코더 버퍼를 관리하는 파라미터가, 그 레이어만의 복호 처리를 행하기 위함인 것, 및 상기 레이어와 그 이하의 레이어를 포함하는 복호 처리를 행하기 위함인 것 중 적어도 하나를 나타내는 레이어마다의 버퍼 관리 파라미터 정보를 수취하는 수취부와, 상기 수취부에 의해 수취된 비트 스트림을 복호하여, 화상을 생성하는 복호부를 구비한다.
상기 레이어는, 레이어 및 서브 레이어를 포함할 수 있다.
상기 레이어는, 멀티 뷰 부호화의 뷰이다.
상기 레이어는, 스케일러블 부호화의 레이어이다.
상기 버퍼 관리 파라미터 정보는, SEI(Supplemental Enhancement Information)에 기술되어 있다.
상기 버퍼 관리 파라미터 정보는, buffering_period_SEI에 기술되어 있다.
상기 그 레이어만의 복호 처리를 행하기 위한 것인 디코더 버퍼를 관리하는 파라미터의 유무를 나타내는 파라미터 유무 정보는, vps(video parameter set)_extension에 기술되어 있다.
상기 수취부는, 상기 그 레이어 이하의 레이어가 AVC(MPEG-4 Part10 Advanced Video Coding) 부호화에 의해 부호화되어 있는 것을 나타내는 AVC 플래그와, 상기 디코더 버퍼를 관리하는 파라미터가, 그 레이어만의 복호 처리를 행하기 위한 것임을 나타내는 레이어마다의 버퍼 관리 파라미터 정보를 수취할 수 있다.
본 개시의 일 측면의 화상 처리 방법은, 화상 처리 장치가, 적어도 하나의 레이어를 갖는 화상이 부호화된 비트림과, 디코더 버퍼를 관리하는 파라미터가, 그 레이어만의 복호 처리를 행하기 위함인 것, 및 그 레이어와 그 이하의 레이어를 포함하는 복호 처리를 행하기 위함인 것 중 적어도 하나를 나타내는 레이어마다의 버퍼 관리 파라미터 정보를 수취하고, 상기 버퍼 관리 파라미터 정보에 대응하는 파라미터를 사용하여, 적어도 하나의 레이어를 갖는 화상이 부호화된 비트림을 수취하고, 수취된 비트 스트림을 복호하여, 화상을 생성한다.
본 개시의 다른 측면의 화상 처리 장치는, 디코더 버퍼를 관리하는 파라미터가, 그 레이어만의 복호 처리를 행하기 위함인 것, 및 상기 레이어와 그 이하의 레이어를 포함하는 복호 처리를 행하기 위함인 것 중 적어도 하나를 나타내는 레이어마다의 버퍼 관리 파라미터 정보를 설정하는 설정부와, 적어도 하나의 레이어를 포함하는 화상을 부호화하여, 비트 스트림을 생성하는 부호화부와, 상기 설정부에 의해 설정된 버퍼 관리 파라미터 정보와, 상기 부호화부에 의해 생성된 비트 스트림을 전송하는 전송부를 구비한다.
상기 레이어는, 레이어 및 서브레이어를 포함할 수 있다.
상기 레이어는, 멀티 뷰 부호화의 뷰이다.
상기 레이어는, 스케일러블 부호화의 레이어이다.
상기 버퍼 관리 파라미터 정보는, SEI(Supplemental Enhancement Information)에 기술되어 있다.
상기 버퍼 관리 파라미터 정보는, buffering_period_SEI에 기술되어 있다.
상기 그 레이어만의 복호 처리를 행하기 위한 것인 디코더 버퍼를 관리하는 파라미터의 유무를 나타내는 파라미터 유무 정보는, vps(video parameter set)_extension에 기술되어 있다.
상기 설정부는, 상기 그 레이어 이하의 레이어가 AVC(MPEG-4 Part10 Advanced Video Coding) 부호화에 의해 부호화되어 있는 것을 나타내는 AVC 플래그와, 상기 디코더 버퍼를 관리하는 파라미터가, 그 레이어만의 복호 처리를 행하기 위한 것임을 나타내는 레이어마다의 버퍼 관리 파라미터 정보를 설정할 수 있다.
본 개시의 다른 측면의 화상 처리 방법은, 화상 처리 장치가, 디코더 버퍼를 관리하는 파라미터가, 그 레이어만의 복호 처리를 행하기 위함인 것, 및 상기 레이어와 그 이하의 레이어를 포함하는 복호 처리를 행하기 위함인 것 중 적어도 하나를 나타내는 레이어마다의 버퍼 관리 파라미터 정보를 설정하고, 적어도 하나의 레이어를 포함하는 화상을 부호화하여, 비트 스트림을 생성하고, 설정된 버퍼 관리 파라미터 정보와, 생성된 비트 스트림을 전송한다.
본 개시의 일 측면에 있어서는, 적어도 하나의 레이어를 갖는 화상이 부호화된 비트림과, 디코더 버퍼를 관리하는 파라미터가, 그 레이어만의 복호 처리를 행하기 위함인 것, 및 상기 레이어와 그 이하의 레이어를 포함하는 복호 처리를 행하기 위함인 것 중 적어도 하나를 나타내는 레이어마다의 버퍼 관리 파라미터 정보가 수취된다. 그리고, 수취된 비트 스트림을 복호하여, 화상이 생성된다.
본 개시의 다른 측면에 있어서는, 디코더 버퍼를 관리하는 파라미터가, 그 레이어만의 복호 처리를 행하기 위함인 것, 및 상기 레이어와 그 이하의 레이어를 포함하는 복호 처리를 행하기 위함인 것 중 적어도 하나를 나타내는 레이어마다의 버퍼 관리 파라미터 정보가 설정되고, 적어도 하나의 레이어를 포함하는 화상을 부호화하여, 비트 스트림이 생성된다. 그리고, 설정된 버퍼 관리 파라미터 정보와, 생성된 비트 스트림이 전송된다.
또한, 전술한 화상 처리 장치는, 독립된 장치이어도 되고, 하나의 화상 부호화 장치 또는 화상 복호 장치를 구성하고 있는 내부 블록이어도 된다.
본 개시의 일 측면에 의하면, 화상을 복호할 수 있다. 특히, 적절한 타이밍에 복호 처리를 행할 수 있다.
본 개시의 다른 측면에 의하면, 화상을 부호화할 수 있다. 특히, 적절한 타이밍에 복호 처리를 행할 수 있다.
도 1은, 코딩 유닛의 구성예를 설명하는 도면이다.
도 2는, 스페이셜 스케일러블 부호화의 예를 설명하는 도면이다.
도 3은, 템포럴 스케일러블 부호화의 예를 설명하는 도면이다.
도 4는, 신호 잡음비의 스케일러블 부호화의 예를 설명하는 도면이다.
도 5는, HEVC의 HRD 파라미터의 신택스의 예를 나타내는 도면이다.
도 6은, 스케일러빌리티 부호화의 병렬 처리를 설명하는 도면이다.
도 7은, 본 기술의 HRD 파라미터의 신택스의 예를 나타내는 도면이다.
도 8은, 본 기술의 HRD 파라미터의 신택스의 다른 예를 나타내는 도면이다.
도 9는, 본 기술의 HRD 파라미터의 신택스의 다른 예를 나타내는 도면이다.
도 10은, 스케일러블 부호화 장치의 주된 구성예를 나타내는 블록도이다.
도 11은, 인핸스먼트 레이어 화상 부호화부의 주된 구성예를 나타내는 블록도이다.
도 12는, 축적 버퍼 및 HRD 타입 설정부의 주된 구성예를 나타내는 블록도이다.
도 13은, 레이어 구조의 예를 설명하는 도면이다.
도 14는, 부호화 처리의 흐름의 예를 설명하는 흐름도이다.
도 15는, 레이어 부호화 처리의 예를 설명하는 흐름도이다.
도 16은, HRD 파라미터 부호화 처리를 설명하는 흐름도이다.
도 17은, HRD 파라미터 산출 처리를 설명하는 흐름도이다.
도 18은, 시간 계층의 HRD 파라미터 산출 처리를 설명하는 흐름도이다.
도 19는, HRD 파라미터 부호화 처리의 다른 예를 설명하는 흐름도이다.
도 20은, 스케일러블 복호 장치의 주된 구성예를 나타내는 블록도이다.
도 21은, 인핸스먼트 레이어 화상 복호부의 주된 구성예를 나타내는 블록도이다.
도 22는, 축적 버퍼 및 HRD 타입 복호부의 주된 구성예를 나타내는 블록도이다.
도 23은, 복호 처리의 흐름의 예를 설명하는 흐름도이다.
도 24는, 레이어 복호 처리의 흐름의 예를 설명하는 흐름도이다.
도 25는, HRD 파라미터 복호 처리의 흐름의 다른 예를 설명하는 흐름도이다.
도 26은, 축적 버퍼 감시 처리의 흐름의 다른 예를 설명하는 흐름도이다.
도 27은, vps_extension의 신택스의 예를 나타내는 도면이다.
도 28은, sps_extension의 신택스의 예를 나타내는 도면이다.
도 29는, vps의 신택스의 예를 나타내는 도면이다.
도 30은, layer_id_included_flag의 시맨택스의 예를 나타내는 도면이다.
도 31은, LayerSet의 설정예를 설명하는 도면이다.
도 32는, buffering_period_SEI의 신택스의 예를 나타내는 도면이다.
도 33은, buffering_period_SEI의 신택스의 예를 나타내는 도면이다.
도 34는, buffering_period_SEI의 신택스의 예를 나타내는 도면이다.
도 35는, buffering_period_SEI의 신택스의 예를 나타내는 도면이다.
도 36은, 인핸스먼트 레이어 화상 부호화부의 주된 구성의 다른 예를 나타내는 블록도이다.
도 37은, 버퍼링 피리어드 SEI 설정부의 구성예를 나타내는 블록도이다.
도 38은, 레이어 부호화 처리의 예를 설명하는 흐름도이다.
도 39는, 버퍼링 피리어드 SEI 부호화 처리의 예를 설명하는 흐름도이다.
도 40은, 인핸스먼트 레이어 화상 복호부의 주된 구성의 다른 예를 나타내는 블록도이다.
도 41은, 버퍼링 피리어드 SEI 복호부의 구성예를 나타내는 블록도이다.
도 42는, 레이어 복호 처리의 예를 설명하는 흐름도이다.
도 43은, 버퍼링 피리어드 SEI 복호 처리의 예를 설명하는 흐름도이다.
도 44는, AVC 플래그의 경우의 HRD 파라미터 부호화 처리의 예를 설명하는 흐름도이다.
도 45는, AVC 플래그의 경우의 버퍼링 피리어드 SEI 부호화 처리의 예를 설명하는 흐름도이다.
도 46은, 다시점 화상 부호화 방식의 예를 나타내는 도면이다.
도 47은, 본 기술을 적용한 다시점 화상 부호화 장치의 주된 구성예를 나타내는 도면이다.
도 48은, 본 기술을 적용한 다시점 화상 복호 장치의 주된 구성예를 나타내는 도면이다.
도 49는, 컴퓨터의 주된 구성예를 나타내는 블록도이다.
도 50은, 텔레비전 장치의 개략적인 구성의 일례를 나타내는 블록도이다.
도 51은, 휴대 전화기의 개략적인 구성의 일례를 나타내는 블록도이다.
도 52는, 기록 재생 장치의 개략적인 구성의 일례를 나타내는 블록도이다.
도 53은, 촬상 장치의 개략적인 구성의 일례를 나타내는 블록도이다.
도 54는, 스케일러블 부호화 이용의 일례를 나타내는 블록도이다.
도 55는, 스케일러블 부호화 이용의 다른 예를 나타내는 블록도이다.
도 56은, 스케일러블 부호화 이용의 또 다른 예를 나타내는 블록도이다.
이하, 본 개시를 실시하기 위한 형태(이하 '실시 형태'라 함)에 대하여 설명한다. 또한, 설명은 이하의 순서로 행한다.
0. 개요
1. 제1 실시 형태(화상 부호화 장치)
2. 제2 실시 형태(화상 복호 장치)
3. 제3 실시 형태(신택스의 예)
4. 제4 실시 형태(buffering_period_SEI의 예)
5. 제5 실시 형태(AVC 플래그의 예)
6. 제6 실시 형태(다시점 화상 부호화 장치·다시점 화상 복호 장치)
7. 제7 실시 형태(컴퓨터)
8. 응용예
9. 스케일러블 부호화의 응용예
<0. 개요>
<부호화 방식>
이하에서는, HEVC(High Efficiency Video Coding) 방식의 화상 부호화·복호에 적용하는 경우를 예로 들어 본 기술을 설명한다.
<코딩 유닛>
AVC(Advanced Video Coding) 방식에 있어서는, 매크로 블록과 서브매크로 블록에 의한 계층 구조가 규정되어 있다. 그러나, 16×16 화소의 매크로 블록에서는, 차세대 부호화 방식의 대상이 되는, UHD(Ultra High Definition; 4000×2000 화소)와 같은 큰 화면 프레임에 대하여 최적은 아니다.
이에 반하여, HEVC 방식에서는, 도 1에 도시된 바와 같이, 코딩 유닛(CU(Coding Unit))이 규정되어 있다.
CU는, Coding Tree Block(CTB)이라고도 불리며, AVC 방식에서의 매크로 블록과 마찬가지의 역할을 하는, 픽처 단위의 화상의 부분 영역이다. 후자는, 16×16 화소의 크기로 고정되어 있는 데 반해, 전자의 크기는 고정되어 있지 않아, 각각의 시퀀스에 있어서, 화상 압축 정보 중에서 지정되게 된다.
예를 들어, 출력이 되는 부호화 데이터에 포함되는 시퀀스 파라미터 세트(SPS(Sequence Parameter Set))에 있어서, CU의 최대 사이즈(LCU(Largest Coding Unit))와 최소 사이즈(SCU(Smallest Coding Unit))가 규정된다.
각각의 LCU 내에서는, SCU의 사이즈를 하회하지 않는 범위에서, split-flag=1로 함으로써, 보다 작은 사이즈의 CU로 분할할 수 있다. 도 1의 예에서는, LCU의 크기가 128이며, 최대 계층 심도가 5가 된다. 2N×2N의 크기의 CU는, split_flag의 값이 「1」일 때, 하나 아래의 계층이 되는, N×N의 크기의 CU로 분할된다.
또한, CU는, 인트라 혹은 인터 예측의 처리 단위가 되는 영역(픽처 단위의 화상 부분 영역)인 프레딕션 유닛(Prediction Unit(PU))으로 분할되고, 또한 직교 변환의 처리 단위가 되는 영역(픽처 단위의 화상 부분 영역)인, 트랜스폼 유닛(Transform Unit(TU))으로 분할된다. 현재, HEVC 방식에서는, 4×4 및 8×8 외에, 16×16 및 32×32 직교 변환을 사용하는 것이 가능하다.
이상의 HEVC 방식과 같이, CU를 정의하고, 그 CU를 단위로 하여 각종 처리를 행하는 부호화 방식의 경우, AVC 방식에서의 매크로 블록은 LCU에 상당하고, 블록(서브블록)은 CU에 상당한다고 생각할 수 있다. 또한, AVC 방식에서의 움직임 보상 블록은, PU에 상당한다고 생각할 수 있다. 단, CU는, 계층 구조를 가지므로, 그 최상위 계층의 LCU의 사이즈는, 예를 들어 128×128 화소와 같이, AVC 방식의 매크로 블록보다 크게 설정되는 것이 일반적이다.
따라서, 이하, LCU는, AVC 방식에서의 매크로 블록도 포함하는 것으로 하고, CU는, AVC 방식에서의 블록(서브블록)도 포함하는 것으로 한다. 즉, 이하의 설명에 사용하는「블록」은, 픽처 내의 임의의 부분 영역을 나타내고, 그 크기, 형상, 및 특성 등은 한정되지 않는다. 즉, 「블록」에는, 예를 들어 TU, PU, SCU, CU, LCU, 서브블록, 매크로 블록 또는 슬라이스 등 임의의 영역(처리 단위)이 포함된다. 물론, 이들 이외의 부분 영역(처리 단위)도 포함된다. 사이즈나 처리 단위 등을 한정할 필요가 있는 경우에는, 적절히 설명한다.
<모드 선택>
그런데, AVC 그리고 HEVC 부호화 방식에 있어서, 더 높은 부호화 효율을 달성하기 위해서는, 적절한 예측 모드의 선택이 중요하다.
이러한 선택 방식의 예로서, JM(Joint Model)이라고 불리는 H.264/MPEG-4 AVC의 참조 소프트웨어(http://iphome.hhi.de/suehring/tml/index.htm에서 공개되어 있음)에 실장되어 있는 방법을 들 수 있다.
JM에서는, 이하에 설명하는, High Complexity Mode와, Low Complexity Mode의 2가지의 모드 판정 방법을 선택하는 것이 가능하다. 어느 쪽이든, 각각의 예측 모드 Mode에 관한 비용 함수값을 산출하여, 이것을 최소로 하는 예측 모드를 그 블록 내지 매크로 블록에 대한 최적 모드로서 선택한다.
High Complexity Mode에서의 비용 함수는, 이하의 수학식 1과 같이 나타낸다.
Figure 112015057943435-pct00001
여기서, Ω은, 상기 블록 내지 매크로 블록을 부호화하기 위한 후보 모드의 전체 집합, D는, 상기 예측 모드에서 부호화한 경우의, 복호 화상과 입력 화상의 차분 에너지이다. λ는, 양자화 파라미터의 함수로서 부여되는 Lagrange 미정 승수이다. R은, 직교 변환 계수를 포함한, 그 모드에서 부호화한 경우의 총 부호량이다.
즉, High Complexity Mode에서의 부호화를 행하기 위해서는, 상기 파라미터 D 및 R을 산출하기 위해서, 모든 후보 모드에 의해, 한번 임시 인코드 처리를 행할 필요가 있어, 더 높은 연산량을 필요로 한다.
Low Complexity Mode에서의 비용 함수는, 이하의 수학식 2와 같이 나타낸다.
Figure 112015057943435-pct00002
여기서, D는, High Complexity Mode의 경우와 달리, 예측 화상과 입력 화상의 차분 에너지가 된다. QP2Quant(QP)는 양자화 파라미터 QP의 함수로서 부여되고, HeaderBit는, 직교 변환 계수를 포함하지 않는, 움직임 벡터나, 모드와 같은, Header에 속하는 정보에 관한 부호량이다.
즉, Low Complexity Mode에서는, 각각의 후보 모드에 관해서 예측 처리를 행할 필요가 있지만, 복호 화상까지는 필요 없기 때문에, 부호화 처리까지 행할 필요는 없다. 이로 인해, High Complexity Mode보다 낮은 연산량으로의 실현이 가능하다.
<계층 부호화>
그런데, 이제까지의 MPEG2, AVC와 같은 화상 부호화 방식은, 도 2 내지 도 4에 도시된 바와 같은, 스케일러빌리티(scalability) 기능을 갖고 있었다. 스케일러블 부호화(계층 부호화)란, 화상을 복수 레이어화(계층화)하여 레이어마다 부호화하는 방식이다.
화상의 계층화에 있어서는, 소정의 파라미터를 기준으로 하여 하나의 화상이 복수의 화상(레이어)으로 분할된다. 기본적으로 각 레이어는, 용장성이 저감되도록, 차분 데이터에 의해 구성된다. 예를 들어, 하나의 화상을 베이스 레이어와 인핸스먼트 레이어로 2 계층화한 경우, 베이스 레이어의 데이터만으로 원래의 화상보다도 저품질의 화상이 얻어지고, 베이스 레이어의 데이터와 인핸스먼트 레이어의 데이터를 합성함으로써, 원래의 화상(즉 고품질의 화상)이 얻어진다.
이와 같이 화상을 계층화함으로써, 상황에 따라서 다양한 품질의 화상을 용이하게 얻을 수 있다. 예를 들어 휴대 전화기와 같은 처리 능력이 낮은 단말기에 대해서는, 베이스 레이어(base layer)만의 화상 압축 정보를 전송하여, 공간 시간 해상도가 낮거나, 혹은 화질이 좋지 않은 동화상을 재생하고, 텔레비전이나 퍼스널 컴퓨터와 같은 처리 능력이 높은 단말기에 대해서는, 베이스 레이어(base layer) 외에, 인핸스먼트 레이어(enhancement layer)의 화상 압축 정보를 전송하여, 공간 시간 해상도가 높거나, 혹은 화질이 높은 동화상을 재생하는 것처럼, 트랜스 코드 처리를 행하지 않고, 단말기나 네트워크의 능력에 따른 화상 압축 정보를, 서버로부터 송신하는 것이 가능해진다.
이와 같은 스케일러빌리티성을 갖게 하는 파라미터로서, 예를 들어 도 2에 도시된 바와 같은, 공간 해상도가 있다(spatial scalability). 이 스페이셜 스케일러빌리티(spatial scalability)의 경우, 레이어마다 해상도가 상이하다. 즉, 도 2에 도시된 바와 같이, 각 픽처가, 원래의 화상보다 공간적으로 저해상도인 베이스 레이어와, 베이스 레이어의 화상과 합성함으로써 원래의 화상(원래의 공간 해상도)이 얻어지는 인핸스먼트 레이어의 2 계층으로 계층화된다. 물론, 이 계층 수는 일례이며, 임의의 계층 수로 계층화할 수 있다.
또한, 이와 같은 스케일러빌리티성을 갖게 하는 파라미터로서, 그 밖에는, 예를 들어 도 3에 도시된 바와 같은, 시간 해상도가 있다(temporal scalability).이 템포럴 스케일러빌리티(temporal scalability)의 경우, 레이어마다 프레임 레이트가 상이하다. 즉, 이 경우, 도 3에 도시된 바와 같이, 서로 다른 프레임 레이트의 레이어로 계층화되어 있어, 저프레임 레이트의 레이어에, 고프레임 레이트의 레이어를 가함으로써, 보다 고프레임 레이트의 동화상을 얻을 수 있고, 모든 레이어를 가함으로써, 원래의 동화상(원래의 프레임 레이트)을 얻을 수 있다. 이 계층 수는 일례이며, 임의의 계층 수로 계층화할 수 있다.
또한, 이와 같은 스케일러빌리티성을 갖게 하는 파라미터로서, 그 밖에는, 예를 들어 신호 잡음비(SNR(Signal to Noise ratio))가 있다(SNR scalability). 이 SNR 스케일러빌리티(SNR scalability)의 경우, 레이어마다 SN비가 상이하다. 즉, 도 4에 도시된 바와 같이, 각 픽처가, 원래의 화상보다 SNR이 낮은 베이스 레이어와, 베이스 레이어의 화상과 합성함으로써 원래의 화상(원래의 SNR)이 얻어지는 인핸스먼트 레이어의 2 계층으로 계층화된다. 즉, 베이스 레이어(base layer) 화상 압축 정보에 있어서는, 저PSNR의 화상에 관한 정보가 전송되고 있고, 이것에, 인핸스먼트 레이어(enhancement layer) 화상 압축 정보를 가함으로써, 고PSNR 화상을 재구축하는 것이 가능하다. 물론, 이 계층 수는 일례이며, 임의의 계층 수로 계층화할 수 있다.
스케일러빌리티성을 갖게 하는 파라미터는, 전술한 예 이외라도 물론 좋다. 예를 들어, 베이스 레이어(base layer)가 8비트(bit) 화상으로 이루어지고, 이것에 인핸스먼트 레이어(enhancement layer)를 가함으로써, 10비트(bit) 화상이 얻어지는 비트 심도 스케일러빌리티(bit-depth scalability)가 있다.
또한, 베이스 레이어(base layer)가 4:2:0 포맷의 컴포넌트 화상으로 이루어지고, 이것에 인핸스먼트 레이어(enhancement layer)를 가함으로써, 4:2:2 포맷의 컴포넌트 화상이 얻어지는 크로마 스케일러빌리티(chroma scalability)가 있다.
또한, 스케일러빌리티성을 갖게 하는 파라미터로서, 멀티 뷰가 있다. 이 경우, 서로 다른 뷰(시점)의 레이어로 계층화되어 있다.
본 실시 형태에 기재된 레이어는, 전술한, 스케일러빌리티 부호화의 스페이셜, 템포럴, SNR, 비트 심도, 컬러, 뷰 등을 포함한다.
또한, 본 명세서에 있어서 사용되고 있는 레이어의 용어는, 전술한 스케일러블(계층) 부호화의 레이어와 또한 다시점의 멀티 뷰를 고려했을 때의 각 뷰를 포함하는 것이다.
또한, 본 명세서에 있어서 사용되고 있는 레이어의 용어는, 주(서브에 대응함) 레이어 및 서브레이어를 포함하는 것으로 한다. 구체예로서는, 주 레이어가 스페이셜 스케일러빌리티의 레이어이며, 그 서브레이어로서는, 템포럴 스케일러빌리티의 레이어로 구성되는 경우를 들 수 있다.
또한, 본 실시 형태에 있어서는, 계층과 레이어는 동일한 의미이기 때문에, 적절히, 계층을 레이어로서 설명한다.
<HRD 파라미터>
그런데, HEVC에서는, 화상 압축 정보의 복호 처리를 행할 때, 버퍼의 오버플로우나 언더플로우가 일어나지 않도록, 도 5에 도시된 HRD(Hypothetical Reference Decoder) 파라미터를 지정하는 것이 가능하다. 즉, HRD 파라미터는, 디코더 버퍼를 관리하는 파라미터이다. 특히, 스케일러블 부호화를 행할 때에는, VPS(Video Parameter Set)에서, 계층마다 HRD 파라미터를 지정할 수 있다.
<스케일러빌리티 부호화의 병렬 처리>
도 6의 예에 있어서는, 도면 중 좌측에, 템포럴 스케일러빌리티의 예로서, I 픽처, b 픽처, B 픽처, b 픽처, B 픽처로 이루어지는 시퀀스를 사용한 2개의 예(ex1, ex2)가 도시되어 있다. 이 시퀀스에 있어서, I 픽처, B 픽처, B 픽처는, 하위 시간 계층이며, b 픽처와 b 픽처는 상위 시간 계층이다.
여기서, B 픽처는, 참조되는 픽처임을 나타내고 있으며, b 픽처는 참조되지 않은 픽처임을 나타내고 있다.
ex1은, 이들 픽처가 모두 복호 장치 #0에 의해 복호되는 예이다. 이에 반하여, ex2는, I 픽처, B 픽처, B 픽처의 하위 시간 계층이 복호 장치 #0에 의해 복호되고, b 픽처와 b 픽처의 상위 시간 계층이 복호 장치 #1로 복호되는 예이다.
도면 중 우측에, 스케일러블 HEVC의 예로서, 상위 계층인 EL(인핸스먼트 레이어)의 I 픽처, B 픽처, B 픽처와, 하위 계층인 BL(베이스 레이어)의 I 픽처, B 픽처, B 픽처로 이루어지는 시퀀스를 사용한 2개의 예(ex11, ex12)가 도시되어 있다. 또한, 스케일러블 HEVC는, HEVC로 정의되어 있는 스케일러블 부호화를 의미하고 있다.
ex11은, 이들 픽처가 모두 복호 장치 #0에 의해 복호되는 예이다. 이에 반하여, ex12는, BL의 I 픽처, B 픽처, B 픽처의 하위 계층이 복호 장치 #0에 의해 복호되고, EL의 I 픽처, B 픽처, B 픽처의 상위 계층이 복호 장치 #1로 복호되는 예이다.
또한, 이들 스케일러블 HEVC의 각 계층에 대하여, 서브 계층으로서, 우측의 템포럴 스케일러빌리티의 각 시간 계층이 구성되어 있다.
이와 같이, 종래부터의 템포럴 스케일러빌리티에 있어서도, 스케일러블 HEVC에 있어서도, 단일의 복호 장치에 의해 처리를 행할 수도 있고, 복수의 복호 장치에 의해 병행 처리를 행할 수도 있다. 또한, 도 5의 신택스에 의해, 계층마다, 혹은 그 서브 계층의 하나인 시간 계층마다, 디코더 버퍼를 관리하는 파라미터인 HRD 파라미터를 지정할 수 있다.
그러나, 도 6에 도시된 바와 같이, 그 복호 처리가, 단일의 복호 장치에 의해 행해지는 것인지, 복수의 복호 장치에 의해 행해지는 것인지 알 수 없었다.
따라서, 본 기술에 있어서는, 도 7에 도시된 바와 같은 신택스에 의해, HRD 파라미터의 전송을 행한다. 즉, 본 기술에 있어서는, HRD 파라미터가, 상기 계층에서만 복호 처리를 행하기 위한 파라미터인지, 그 계층 및 그 이하의 계층을 포함한 복호 처리를 행하기 위한 파라미터인지를 나타내는 정보를 설정한다. 이에 의해, 도 6에 도시한 바와 같이, 복호 처리가, 단일의 복호 장치에 의해 행해지는 것인지, 복수의 복호 장치에 의해 행해지는 것인지 명확하게 정의되므로, 적절한 타이밍에 복호 처리를 행할 수 있다.
<HRD 파라미터의 예>
도 7은, 본 기술의 HRD 파라미터의 신택스의 예를 나타내는 도면이다. 각 행의 좌측 단부의 숫자는 설명을 위해 붙인 행 번호이다.
도 7의 예에 있어서는, 제10행째에, hrd_parameters_type_flag가 정의되어 있다. hrd_parameters_type_flag의 값이 1일 때, 그 이후 단락의 HRD 파라미터는, 그 계층만의 복호 처리를 행하기 위한 값이 설정된다. hrd_parameters_type_flag의 값이 0일 때, 그 이후 단락의 HRD 파라미터는, 그 계층 및 그 이하의 계층을 포함한 복호 처리를 행하기 위한 값이 설정된다.
또한, hrd_parameters_type_flag는, 제11행째부터 시작되는 if 문 중에 포함되도록 해도 된다.
제25행째에, sub_hrd_parameters_type[i]_flag가 정의되어 있다. sub_hrd_parameters_type[i]_flag의 값이 1일 때, 그 이후 단락의 서브 HRD 파라미터는, 그 시간 계층만의 복호 처리를 행하기 위한 값이 설정된다. hrd_parameters_type_flag의 값이 0일 때, 그 이후 단락의 서브 HRD 파라미터는, 그 시간 계층 및 그 이하의 시간 계층을 포함한 복호 처리를 행하기 위한 값이 설정된다.
또한, 도 7의 예에 있어서는, 각각의 계층 및 시간 계층마다, 어느 쪽이든(그 계층만일지 하위 계층도 포함할지) 한쪽만의 방법에 의해 지정을 행하는 예를 나타내었지만, 본 기술은 이에 한정되지 않는다. 예를 들어, HRD 파라미터가 양쪽의 방법에 의해 지정된 HRD 파라미터를 포함하도록 구성할 수도 있다.
<HRD 파라미터의 다른 예>
도 8은, 본 기술의 HRD 파라미터의 신택스의 다른 예를 나타내는 도면이다.각 행의 좌측 단부의 숫자는 설명을 위해 붙인 행 번호이다.
도 8의 예에 있어서는, 제11행째에, hrd_parameters_type1_present_flag가 정의되어 있다. hrd_parameters_type1_present_flag의 값이 1일 때, 제13행째 내지 제24행째에 설정되는 type1의 HRD 파라미터는, 그 계층만의 복호 처리를 행하기 위한 값이 설정된다. hrd_parameters_type1_present_flag의 값이 0일 때, type1의 HRD 파라미터는, 그 계층 및 그 이하의 계층을 포함한 복호 처리를 행하기 위한 값이 설정된다.
제12행째에, hrd_parameters_type2_present_flag가 정의되어 있다. hrd_parameters_type2_present_flag의 값이 1일 때, 제25행째 내지 제36행째에 설정되는 type2의 HRD 파라미터는, 그 계층만의 복호 처리를 행하기 위한 값이 설정된다. hrd_parameters_type1_present_flag의 값이 0일 때, type2의 HRD 파라미터는, 그 계층 및 그 이하의 계층을 포함한 복호 처리를 행하기 위한 값이 설정된다.
또한, 도 7을 참조하여 전술한 예와 마찬가지로, 제11행째 및 제12행째의 플래그는, 제10행째부터 시작되는 if 문 앞에 기술되어도 된다.
제40행째에, sub_hrd_parameters_type1_present_flag가 정의되어 있다. sub_hrd_parameters_type1_present_flag의 값이 1일 때, 제45행째 내지 제52행째에 설정되는 type1의 HRD 파라미터는, 그 시간 계층만의 복호 처리를 행하기 위한 값이 설정된다. sub_hrd_parameters_type1_present_flag의 값이 0일 때, type1의 HRD 파라미터는, 그 시간 계층 및 그 이하의 시간 계층을 포함한 복호 처리를 행하기 위한 값이 설정된다.
제41행째에, sub_hrd_parameters_type2_present_flag가 정의되어 있다. sub_hrd_parameters_type2_present_flag의 값이 1일 때, 제53행째 내지 제60행째에 설정되는 type2의 HRD 파라미터는, 그 시간 계층만의 복호 처리를 행하기 위한 값이 설정된다. sub_hrd_parameters_type1_present_flag의 값이 0일 때, type2의 HRD 파라미터는, 그 시간 계층 및 그 이하의 시간 계층을 포함한 복호 처리를 행하기 위한 값이 설정된다.
이상과 같이, 본 기술에 있어서는, 부호화측에서, 그 계층만의 복호 처리를 위한 HRD 파라미터와, 그 계층 및 그 하위 계층도 포함한 복호 처리를 위한 HRD 파라미터인, type1과 type2의 양쪽 파라미터를 설정하도록 하였다. 이에 의해, 복호측에서, 그 장치나 수취되는 비트 스트림에 따라서 선택하는 것이 가능하다.
또한, 상기 화상 압축 정보가, 스케일러빌리티 계층, 템포럴 스케일러빌리티 계층에서 1계층밖에 갖지 않는 경우에는, 전술한 hrd_parameter_type_flag 및 sub_hrd_parameter_type_flag의 값은, 어느 쪽의 값이어도 되며, 복호 처리에는 영향이 없다.
다음으로, 이상과 같은 본 기술에 대해, 구체적인 장치에 대한 적용예에 대하여 설명한다. 또한, 이하에서는, 설명의 편의상, 전술한 도 6의 스케일러블 HEVC의 ex12이고, 또한 템포럴 스케일러빌리티의 ex1인 경우의 예에 대하여 설명한다. 단, 이 경우로 한정되지 않는다. 예를 들어, 도 6의 스케일러블 HEVC의 ex12이고, 또한 템포럴 스케일러빌리티의 ex2인 경우, 스케일러블 HEVC의 ex11이고, 또한 템포럴 스케일러빌리티의 ex2인 경우와, 스케일러블 HEVC의 ex11이고, 또한 템포럴 스케일러빌리티의 ex1인 경우도 있을 수 있다.
<1. 제1 실시 형태>
<스케일러블 부호화 장치>
도 10은, 스케일러블 부호화 장치의 주된 구성예를 나타내는 블록도이다.
도 10에 도시된 스케일러블 부호화 장치(100)는, 베이스 레이어와 인핸스먼트 레이어로 계층화된 화상 데이터의 각 레이어를 부호화한다.
스케일러블 부호화 장치(100)는, 베이스 레이어 화상 부호화부(101-1), 인핸스먼트 레이어 화상 부호화부(101-2), 및 부호화 제어부(102)를 포함하게 구성된다.
베이스 레이어 화상 부호화부(101-1)는, 베이스 레이어의 화상 정보(베이스 레이어 화상 정보)를 취득한다. 베이스 레이어 화상 부호화부(101-1)는, 다른 레이어를 참조하지 않고, 그 베이스 레이어 화상 정보를 부호화하여, 베이스 레이어의 부호화 데이터(베이스 레이어 부호화 데이터)를 생성하고, 출력한다.
인핸스먼트 레이어 화상 부호화부(101-2)는, 인핸스먼트 레이어의 화상 정보(인핸스먼트 레이어 화상 정보)를 취득한다. 인핸스먼트 레이어 화상 부호화부(101-2)는, 그 인핸스먼트 레이어 화상 정보를 부호화한다. 그때, 인핸스먼트 레이어 화상 부호화부(101-2)는, 필요에 따라서, 베이스 레이어의 부호화에 관한 정보를 참조하여 레이어 간 예측을 행한다.
또한, 인핸스먼트 레이어 화상 부호화부(101-2)는, 계층마다 HRD 파라미터 타입을 설정하고, 설정된 HRD 파라미터 타입에 따라서, 축적 버퍼의 상태 정보에 기초하여, 디코더 버퍼를 관리하는 파라미터인 HRD 파라미터를 산출한다. 인핸스먼트 레이어 화상 부호화부(101-2)는, 산출된 HRD 파라미터를 부호화한다.
구체적으로는, HRD 파라미터 타입이란, HRD 파라미터가, 상기 계층만의 복호를 행하기 위한 것인지, 상기 계층과 그 이하의 계층을 포함하는 복호 처리를 행하기 위한 것인지를 나타내는 것이다. 이 타입은, 어느 쪽이든 한쪽만이 아니라, 양쪽을 설정할 수도 있다. 설정된 타입을 나타내는 플래그(정보)에 따라서, 부호화측에서 HRD 파라미터가 산출되고, 설정된 타입을 나타내는 플래그와 산출된 HRD 파라미터가 복호측으로 보내진다. 또한, HRD 파라미터 타입을 나타내는 플래그를, 이하, HRD 파라미터 타입 플래그라고도 적절히 칭한다.
HRD 파라미터 타입을 나타내는 플래그가 1인 경우, 인핸스먼트 레이어 화상 부호화부(101-2)는, 자신의 축적 버퍼의 상태 정보에 기초하여 HRD 파라미터를 산출한다. HRD 파라미터 타입을 나타내는 플래그가 0인 경우, 인핸스먼트 레이어 화상 부호화부(101-2)는, 베이스 레이어 화상 부호화부(101-1)의 전체 축적 버퍼의 상태 정보를 취득하여, 베이스 레이어 화상 부호화부(101-1)와 자신의 축적 버퍼의 상태 정보에 기초하여 HRD 파라미터를 산출한다. 이 처리는, 레이어(계층) 및 서브레이어(시간 계층)에 대하여 행해진다. 또한, 베이스 레이어 화상 부호화부(101-1)에 있어서는, 서브레이어에 대해서만 이 처리가 행해진다.
인핸스먼트 레이어 화상 부호화부(101-2)는, 이와 같은 부호화에 의해, 인핸스먼트 레이어의 부호화 데이터(인핸스먼트 레이어 부호화 데이터)를 생성하고, 출력한다.
또한, 베이스 레이어 화상 부호화부(101-1) 및 인핸스먼트 레이어 화상 부호화부(101-2)를, 적절히 레이어 화상 부호화부(101)라고 통합하여 칭한다.
부호화 제어부(102)는, 각 레이어 화상 부호화부(101)의 참조 관계 등을 고려하여 각 레이어 화상 부호화부(101)의 부호화 처리의 제어를 행한다.
또한, 도 10의 예에 있어서는, 인핸스먼트 레이어 화상 부호화부(101-2)가 1대밖에 기재되어 있지 않지만, 또한 상위 계층이 있는 경우에는, 그 상위 계층을 부호화하는 인핸스먼트 레이어 화상 부호화부(101-3, 4, …)도 상위 계층만큼 구성된다.
<레이어 화상 부호화부의 구성예>
도 11은, 인핸스먼트 레이어 화상 부호화부(101-2)의 주된 구성예를 나타내는 블록도이다. 또한, 도 10의 베이스 레이어 화상 부호화부(101-1)도, 대상이 되는 화상의 종류가 상이할 뿐이며, 도 11의 인핸스먼트 레이어 화상 부호화부(101-2)와 기본적으로 마찬가지의 구성을 하고 있다. 도 11의 예에 있어서는, 설명의 편의상, 인핸스먼트 레이어 화상 부호화부(101-2)의 구성을 예로 들어 설명한다.
도 11에 도시된 바와 같이, 인핸스먼트 레이어 화상 부호화부(101-2)는, A/D 변환부(111), 화면 재배열 버퍼(112), 연산부(113), 직교 변환부(114), 양자화부(115), 가역 부호화부(116), 축적 버퍼(117), 역양자화부(118), 및 역직교 변환부(119)를 갖는다. 또한, 인핸스먼트 레이어 화상 부호화부(101-2)는, 연산부(120), 루프 필터(121), 프레임 메모리(122), 선택부(123), 인트라 예측부(124), 움직임 예측·보상부(125), 예측 화상 선택부(126), 및 레이트 제어부(127)를 갖는다. 또한, 인핸스먼트 레이어 화상 부호화부(101-2)는, HRD 타입 설정부(128)를 갖는다.
A/D 변환부(111)는, 입력된 화상 데이터(인핸스먼트 레이어 화상 정보)를 A/D 변환하고, 변환 후의 화상 데이터(디지털 데이터)를 화면 재배열 버퍼(112)에 공급하고, 기억시킨다. 화면 재배열 버퍼(112)는, 기억한 표시의 순서의 프레임 화상을, GOP(Group Of Picture)에 따라 부호화를 위한 프레임 순서대로 재배열하고, 프레임의 순서를 재배열한 화상을, 연산부(113)에 공급한다. 또한, 화면 재배열 버퍼(112)는, 프레임의 순서를 재배열한 화상을, 인트라 예측부(124) 및 움직임 예측·보상부(125)에도 공급한다.
연산부(113)는, 화면 재배열 버퍼(112)로부터 판독된 화상으로부터, 예측 화상 선택부(126)를 통해 인트라 예측부(124) 혹은 움직임 예측·보상부(125)로부터 공급되는 예측 화상을 감산하고, 그 차분 정보를 직교 변환부(114)로 출력한다. 예를 들어, 인트라 부호화가 행해지는 화상의 경우, 연산부(113)는, 화면 재배열 버퍼(112)로부터 판독된 화상으로부터, 인트라 예측부(124)로부터 공급되는 예측 화상을 감산한다. 또한, 예를 들어 인터 부호화가 행해지는 화상의 경우, 연산부(113)는, 화면 재배열 버퍼(112)로부터 판독된 화상으로부터, 움직임 예측·보상부(125)로부터 공급되는 예측 화상을 감산한다.
직교 변환부(114)는, 연산부(113)로부터 공급되는 차분 정보에 대하여 이산 코사인 변환이나 카루넨 루베 변환 등의 직교 변환을 실시한다. 직교 변환부(114)는, 그 변환 계수를 양자화부(115)에 공급한다.
양자화부(115)는, 직교 변환부(114)로부터 공급되는 변환 계수를 양자화한다. 양자화부(115)는, 레이트 제어부(127)로부터 공급되는 부호량의 목표값에 관한 정보에 기초하여 양자화 파라미터를 설정하고, 그 양자화를 행한다. 양자화부(115)는, 양자화된 변환 계수를 가역 부호화부(116)에 공급한다.
가역 부호화부(116)는, 양자화부(115)에 있어서 양자화된 변환 계수를 임의의 부호화 방식으로 부호화한다. 계수 데이터는, 레이트 제어부(127)의 제어 하에서 양자화되어 있으므로, 이 부호량은, 레이트 제어부(127)가 설정한 목표값으로 된다(혹은 목표값에 근사함).
또한, 가역 부호화부(116)는, 인트라 예측의 모드를 나타내는 정보 등을 인트라 예측부(124)로부터 취득하고, 인터 예측의 모드를 나타내는 정보나 차분 움직임 벡터 정보 등을 움직임 예측·보상부(125)로부터 취득한다. 또한, 가역 부호화부(116)는, 시퀀스 파라미터 세트(SPS) 및 픽처 파라미터 세트(PPS) 등을 포함하는 인핸스먼트 레이어의 NAL 유닛을 적절히 생성한다.
가역 부호화부(116)는, 이들 각종 정보를 임의의 부호화 방식으로 부호화하여, 부호화 데이터('부호화 스트림'이라고도 함)의 일부로 한다(다중화함). 가역 부호화부(116)는, 부호화하여 얻어진 부호화 데이터를 축적 버퍼(117)에 공급하여 축적시킨다.
가역 부호화부(116)의 부호화 방식으로서는, 예를 들어 가변 길이 부호화 또는 산술 부호화 등을 들 수 있다. 가변 길이 부호화로서는, 예를 들어 H.264/AVC 방식으로 정해져 있는 CAVLC(Context-Adaptive Variable Length Coding) 등을 들 수 있다. 산술 부호화로서는, 예를 들어 CABAC(Context-Adaptive Binary Arithmetic Coding) 등을 들 수 있다.
축적 버퍼(117)는, 가역 부호화부(116)로부터 공급된 부호화 데이터(인핸스먼트 레이어 부호화 데이터)를 일시적으로 유지한다. 축적 버퍼(117)는, 소정의 타이밍에 있어서, 유지하고 있는 인핸스먼트 레이어 부호화 데이터를, 예를 들어 후단의 도시를 생략한 기록 장치(기록 매체)나 전송로 등으로 출력한다. 즉, 축적 버퍼(117)는, 부호화 데이터를 전송하는 전송부이기도 하다. 또한, 축적 버퍼(117)는, HRD 타입 설정부(128)로부터 요구가 있는 경우에, 축적 버퍼(117)의 상태를 나타내는 정보를 공급한다. 또한, 예를 들어 점선으로 나타낸 바와 같이, 상위 계층의 인핸스먼트 레이어 화상 부호화부(101-3)가 존재하고, 그 HRD 타입 설정부(128)로부터 요구가 있는 경우에, 축적 버퍼(117)는, 축적 버퍼(117)의 상태를 나타내는 정보를 상위 계층의 인핸스먼트 레이어 화상 부호화부(101-3)에 공급한다.
또한, 양자화부(115)에서 양자화된 변환 계수는, 역양자화부(118)에도 공급된다. 역양자화부(118)는, 그 양자화된 변환 계수를, 양자화부(115)에 의한 양자화에 대응하는 방법으로 역양자화한다. 역양자화부(118)는, 얻어진 변환 계수를, 역직교 변환부(119)에 공급한다.
역직교 변환부(119)는, 역양자화부(118)로부터 공급된 변환 계수를, 직교 변환부(114)에 의한 직교 변환 처리에 대응하는 방법으로 역직교 변환한다. 역직교 변환된 출력(복원된 차분 정보)은 연산부(120)에 공급된다.
연산부(120)는, 역직교 변환부(119)로부터 공급된 역직교 변환 결과인, 복원된 차분 정보에, 예측 화상 선택부(126)를 통해 인트라 예측부(124) 혹은 움직임 예측·보상부(125)로부터의 예측 화상을 가산하여, 국부적으로 복호된 화상(복호 화상)을 얻는다. 그 복호 화상은, 루프 필터(121) 또는 프레임 메모리(122)에 공급된다.
루프 필터(121)는, 디블록 필터나, 적응 오프셋 필터, 적응 루프 필터 등을 포함하고, 연산부(120)로부터 공급되는 재구성 화상에 대하여 적절히 필터 처리를 행한다. 예를 들어, 루프 필터(121)는, 재구성 화상에 대하여 디블록 필터 처리를 행함으로써 재구성 화상의 블록 왜곡을 제거한다. 또한, 예를 들어 루프 필터(121)는, 그 디블록 필터 처리 결과(블록 왜곡의 제거가 행해진 재구성 화상)에 대하여 위너 필터(Wiener Filter)를 사용하여 루프 필터 처리를 행함으로써 화질 개선을 행한다. 루프 필터(121)는, 필터 처리 결과(이하, '복호 화상'이라 함)를 프레임 메모리(122)에 공급한다.
또한, 루프 필터(121)가, 재구성 화상에 대하여 또한, 다른 임의의 필터 처리를 행하도록 해도 된다. 또한, 루프 필터(121)는, 필요에 따라 필터 처리에 사용한 필터 계수 등의 정보를 가역 부호화부(116)에 공급하고, 그것을 부호화시키도록 할 수도 있다.
프레임 메모리(122)는, 연산부(120)로부터 공급되는 재구성 화상과, 루프 필터(121)로부터 공급되는 복호 화상을 각각 기억한다. 프레임 메모리(122)는, 소정의 타이밍에 있어서, 또는, 인트라 예측부(124) 등의 외부로부터의 요구에 기초하여, 기억하고 있는 재구성 화상을, 선택부(123)를 통해 인트라 예측부(124)에 공급한다. 또한, 프레임 메모리(122)는, 소정의 타이밍에 있어서, 또는, 움직임 예측·보상부(125) 등의 외부로부터의 요구에 기초하여, 기억하고 있는 복호 화상을, 선택부(123)를 통해 움직임 예측·보상부(125)에 공급한다.
프레임 메모리(122)는, 공급되는 복호 화상을 기억하고, 소정의 타이밍에 있어서, 기억하고 있는 복호 화상을 참조 화상으로서 선택부(123)에 공급한다.
선택부(123)는, 프레임 메모리(122)로부터 공급되는 참조 화상의 공급처를 선택한다. 예를 들어, 인트라 예측의 경우, 선택부(123)는, 프레임 메모리(122)로부터 공급되는 참조 화상(커런트 픽처 내의 화소값)을 움직임 예측·보상부(125)에 공급한다. 또한, 예를 들어 인터 예측의 경우, 선택부(123)는, 프레임 메모리(122)로부터 공급되는 참조 화상을 움직임 예측·보상부(125)에 공급한다.
인트라 예측부(124)는, 선택부(123)를 통해 프레임 메모리(122)로부터 공급되는 참조 화상인 커런트 픽처 내의 화소값을 사용하여 예측 화상을 생성하는 인트라 예측(화면 내 예측)을 행한다. 인트라 예측부(124)는, 미리 준비된 복수의 인트라 예측 모드에서 이 인트라 예측을 행한다.
인트라 예측부(124)는, 후보가 되는 모든 인트라 예측 모드에서 예측 화상을 생성하고, 화면 재배열 버퍼(112)로부터 공급되는 입력 화상을 사용하여 각 예측 화상의 비용 함수값을 평가하고, 최적의 모드를 선택한다. 인트라 예측부(124)는, 최적의 인트라 예측 모드를 선택하면, 그 최적의 모드에서 생성된 예측 화상을, 예측 화상 선택부(126)에 공급한다.
또한, 전술한 바와 같이, 인트라 예측부(124)는, 채용된 인트라 예측 모드를 나타내는 인트라 예측 모드 정보 등을, 적절히 가역 부호화부(116)에 공급하여 부호화시킨다.
움직임 예측·보상부(125)는, 화면 재배열 버퍼(112)로부터 공급되는 입력 화상과, 선택부(123)를 통해 프레임 메모리(122)로부터 공급되는 참조 화상을 사용하여 움직임 예측(인터 예측)을 행한다. 또한, 도시를 생략하였지만, 움직임 예측·보상부(125)에서는, 베이스 레이어 화상 부호화부(101-1)의 프레임 메모리(122)로부터의 참조 화상도 필요에 따라서 참조된다. 움직임 예측·보상부(125)는, 검출된 움직임 벡터에 따라서 움직임 보상 처리를 행하여, 예측 화상(인터 예측 화상 정보)을 생성한다. 움직임 예측·보상부(125)는, 미리 준비된 복수의 인터 예측 모드에서 이와 같은 인터 예측을 행한다.
움직임 예측·보상부(125)는, 후보가 되는 모든 인터 예측 모드에서 예측 화상을 생성한다. 움직임 예측·보상부(125)는, 화면 재배열 버퍼(112)로부터 공급되는 입력 화상과, 생성한 차분 움직임 벡터의 정보 등을 이용하여, 각 예측 화상의 비용 함수값을 평가하여 최적의 모드를 선택한다. 움직임 예측·보상부(125)는, 최적의 인터 예측 모드를 선택하면, 그 최적의 모드에서 생성된 예측 화상을, 예측 화상 선택부(126)에 공급한다.
움직임 예측·보상부(125)는, 채용된 인터 예측 모드를 나타내는 정보나, 부호화 데이터를 복호할 때 그 인터 예측 모드에서 처리를 행하기 위해 필요한 정보 등을 가역 부호화부(116)에 공급하여 부호화시킨다. 필요한 정보로서는, 예를 들어 생성된 차분 움직임 벡터의 정보나, 예측 움직임 벡터 정보로서, 예측 움직임 벡터의 인덱스를 나타내는 플래그 등이 있다.
예측 화상 선택부(126)는, 연산부(113)나 연산부(120)에 공급하는 예측 화상의 공급원을 선택한다. 예를 들어, 인트라 부호화의 경우, 예측 화상 선택부(126)는, 예측 화상의 공급원으로서 인트라 예측부(124)를 선택하고, 그 인트라 예측부(124)로부터 공급되는 예측 화상을 연산부(113)나 연산부(120)에 공급한다. 또한, 예를 들어 인터 부호화의 경우, 예측 화상 선택부(126)는, 예측 화상의 공급원으로서 움직임 예측·보상부(125)를 선택하고, 그 움직임 예측·보상부(125)로부터 공급되는 예측 화상을 연산부(113)나 연산부(120)에 공급한다.
레이트 제어부(127)는, 축적 버퍼(117)에 축적된 부호화 데이터의 부호량에 기초하여, 오버플로우 혹은 언더플로우가 발생하지 않도록, 양자화부(115)의 양자화 동작의 레이트를 제어한다.
HRD 타입 설정부(128)는, 유저의 지시하에 HRD 파라미터 타입을 결정하고, 결정된 HRD 파라미터 타입에 따라서, 축적 버퍼(117)나, 베이스 레이어 화상 부호화부(101-1)의 축적 버퍼(117: 하위 계층)로부터, 축적 상태를 나타내는 정보를 취득한다. HRD 타입 설정부(128)는, 취득한 정보에 기초하여, HRD 파라미터를 산출하고, HRD 파라미터 타입을 나타내는 플래그와 그 HRD 파라미터를, 가역 부호화부(116)에 부호화시킨다.
또한, 출력이 되는 화상 압축 정보(부호화 데이터)가 단일 계층밖에 포함하지 않는 경우, HRD 파라미터 타입을 나타내는 플래그의 값은, 임의이며, 복호측의 처리에는 영향을 주지 않는다.
<축적 버퍼 및 HRD 타입 설정부의 구성예>
도 12는, 도 11의 축적 버퍼 및 HRD 타입 설정부의 구성예를 나타내는 블록도이다.
도 12의 예에 있어서는, 축적 버퍼(117)는, 부분 축적 버퍼(131) 및 전체 축적 버퍼(132)를 포함하게 구성되어 있다.
HRD 타입 설정부(128)는, 계층 HRD 파라미터 산출부(141), 시간 계층 HRD 파라미터 산출부(142), HRD 파라미터 타입 설정부(143), 및 시간 HRD 파라미터 타입 설정부(144)를 포함하게 구성되어 있다.
부분 축적 버퍼(131)는, 전체 축적 버퍼(132)에 축적되는 부호화 데이터(부호) 중 각 상위 시간 계층에 관한 부호화 데이터를 각각 축적하는 각 축적 버퍼에 의해 구성되어 있다. 각 축적 버퍼의 상태를 나타내는 정보는, 요구에 따라 시간 계층 HRD 파라미터 산출부(142)에 공급된다.
전체 축적 버퍼(132)는, 가역 부호화부(116)에 의해 부호화된 부호화 데이터(부호)를 축적한다. 또한, 전체 축적 버퍼(132)의 전체 축적 버퍼의 상태를 나타내는 정보는, 요구에 따라 계층 HRD 파라미터 산출부(141) 및 시간 계층 HRD 파라미터 산출부(142)에 공급된다. 또한, 점선으로 나타낸 바와 같이, 상위 계층의 인핸스먼트 레이어 화상 부호화부(101-3)가 존재하는 경우가 있다. 이 경우, 인핸스먼트 레이어 화상 부호화부(101-3)의 HRD 타입 설정부(128: 상위 계층)의 요구에 따라서, 전체 축적 버퍼(132)의 전체 축적 버퍼의 상태를 나타내는 정보는, HRD 타입 설정부(128: 상위 계층)에도 공급된다.
계층 HRD 파라미터 산출부(141)는, HRD 파라미터 타입 설정부(143)로부터의 HRD 파라미터 타입(플래그)에 따라서, 전체 축적 버퍼(132)의 상태를 나타내는 정보 및 베이스 레이어 화상 부호화부(101-1)의 축적 버퍼(117: 하위 계층)의 상태를 나타내는 정보를 취득한다. 또한, 실제로는, 베이스 레이어 화상 부호화부(101-1)의 축적 버퍼의 전체 축적 버퍼(132)로부터 정보가 취득된다.
HRD 파라미터 타입 플래그가 1을 나타내는 경우, 전체 축적 버퍼(132)의 상태를 나타내는 정보가 취득된다. HRD 파라미터 타입 플래그가 0을 나타내는 경우, 전체 축적 버퍼(132)의 상태를 나타내는 정보와 베이스 레이어 화상 부호화부(101-1)의 축적 버퍼(117: 하위 계층)의 상태를 나타내는 정보가 취득된다.
계층 HRD 파라미터 산출부(141)는, HRD 파라미터 타입 설정부(143)로부터의 HRD 파라미터 타입 플래그와 취득된 정보에 기초하여, 계층 HRD 파라미터를 산출하고, 산출된 계층 HRD 파라미터를, 가역 부호화부(116)에 공급한다.
시간 계층 HRD 파라미터 산출부(142)는, 시간 HRD 파라미터 타입 설정부(144)로부터의 서브 HRD 파라미터 타입(플래그)에 따라서, 전체 축적 버퍼(132)의 상태를 나타내는 정보 및 부분 축적 버퍼(131)가 대응하는 시간 계층의 축적 버퍼의 상태를 나타내는 정보를 취득한다.
서브 HRD 파라미터 타입 플래그가 1을 나타내는 경우, 부분 축적 버퍼(131)가 대응하는 시간 계층의 축적 버퍼의 상태를 나타내는 정보가 취득된다. 서브 HRD 파라미터 타입 플래그가 0을 나타내는 경우, 전체 축적 버퍼(132)의 상태를 나타내는 정보 및 부분 축적 버퍼(131)가 대응하는 시간 계층의 축적 버퍼의 상태를 나타내는 정보가 취득된다.
시간 계층 HRD 파라미터 산출부(142)는, 시간 HRD 파라미터 타입 설정부(144)로부터의 서브 HRD 파라미터 타입과 취득된 정보에 기초하여, 시간 계층 HRD 파라미터를 산출하고, 산출된 시간 계층 HRD 파라미터를, 가역 부호화부(116)에 공급한다.
HRD 파라미터 타입 설정부(143)는, 유저의 지시에 대응하여, HRD 파라미터 타입을 설정하고, 설정된 HRD 파라미터 타입을 나타내는 플래그를, 가역 부호화부(116) 및 계층 HRD 파라미터 산출부(141)에 공급한다.
시간 HRD 파라미터 타입 설정부(144)는, 유저의 지시에 대응하여, 서브 HRD 파라미터 타입을 설정하고, 설정된 서브 HRD 파라미터 타입을 나타내는 플래그를, 가역 부호화부(116) 및 시간 계층 HRD 파라미터 산출부(142)에 공급한다.
가역 부호화부(116)는, HRD 파라미터 타입 설정부(143)로부터의 HRD 파라미터 타입을 나타내는 플래그, 및 계층 HRD 파라미터 산출부(141)로부터의 계층 HRD 파라미터를 부호화하여, 부호화 데이터의 헤더 정보로 한다. 가역 부호화부(116)는, 시간 HRD 파라미터 타입 설정부(144)로부터의 서브 HRD 파라미터 타입을 나타내는 플래그, 및 시간 계층 HRD 파라미터 산출부(142)로부터의 시간 계층 HRD 파라미터를 부호화하여, 부호화 데이터의 헤더 정보로 한다. 부호화 데이터는, 전체 축적 버퍼(132)로 출력된다.
<레이어 구조>
스케일러블 부호화(계층 부호화)에 있어서는, 도 2 내지 도 4를 참조하여 전술한 바와 같이, 화상 데이터가 복수 레이어로 계층화된다. 이하에 있어서는 설명의 편의상, 이 레이어를 '주 레이어'라고 한다.
각 주 레이어의 픽처 군은, 그 주 레이어에 있어서 시퀀스를 구성하게 된다. 그 시퀀스에 있어서 픽처는, 단일 주 레이어의 동화상 데이터와 마찬가지로, 도 13에 도시된 바와 같이, 또한 계층 구조(GOP(Group Of Picture) 구조)를 형성한다. 이하에 있어서는 설명의 편의상, 이 하나의 주 레이어 내의 레이어를 '서브레이어(sublayer)'라고 한다.
도 13의 예의 경우, 주 레이어는, 베이스 레이어(BaseLayer)와 인핸스먼트 레이어(EnhLayer)의 2개의 레이어에 의해 구성된다. 베이스 레이어는, 다른 주 레이어에 의존하지 않고, 자신의 주 레이어만으로 화상이 형성되는 레이어이다. 베이스 레이어의 데이터는, 다른 주 레이어를 참조하지 않고 부호화·복호된다. 인핸스먼트 레이어는, 베이스 레이어의 데이터와 합성됨으로써 화상이 얻어지는 주 레이어다. 인핸스먼트 레이어의 데이터는, 대응하는 베이스 레이어와의 사이의 예측 처리(주 레이어 간의 예측 처리('레이어 간 예측'이라고도 칭함))가 이용 가능하다.
스케일러블 부호화에 의해 계층화된 부호화 데이터의 주 레이어 수는 임의이다. 이하에 있어서는, 각 주 레이어가 베이스 레이어나 혹은 인핸스먼트 레이어로 설정되고, 각 인핸스먼트 레이어에는, 어느 쪽이든 베이스 레이어가 참조처로서 설정되도록 한다.
또한, 도 13의 예의 경우, 베이스 레이어 및 인핸스먼트 레이어는, 각각, 서브레이어 0(Sublayer0), 서브레이어 1(Sublayer1), 서브레이어 2(Sublayer2)의 3개의 서브레이어에 의해 구성되는 GOP 구조를 갖는다. 도 13에 도시한 사각은, 픽처를 나타내고 있으며, 그 중의 문자는, 그 픽처의 타입을 나타내고 있다. 예를 들어, 「I」라고 기재된 사각은, I 픽처를 나타내고, 「B」라고 기재된 사각은, 참조 가능한 B 픽처를 나타내며, 「b」라고 기재된 사각은, 참조되지 않은 B 픽처를 나타낸다. 또한, 각 사각 간의 점선은, 의존 관계(참조 관계)를 나타낸다. 각각의 점선으로 나타낸 바와 같이, 상위의 서브레이어 픽처는, 하위의 서브레이어 픽처에 의존한다. 즉, 서브레이어 2(Sublayer2)의 픽처는, 서브레이어 1의 픽처나 서브레이어 0의 픽처를 참조한다. 또한, 서브레이어 1의 픽처는, 서브레이어 0의 픽처를 참조한다. 서브레이어 0의 픽처는, 서브레이어 0의 픽처를 적절히 참조한다.
또한, 서브레이어의 계층 수(서브레이어 수)는 임의이다. 또한, GOP 구조도 임의이며, 도 13의 예로 한정되지 않는다.
여기서, 본 실시 형태와의 대응 관계에 대하여 설명한다. 도 12의 전체 축적 버퍼(132)에는, 인핸스먼트 레이어의 모든 픽처의 부호화 데이터가 축적된다.
또한, 도 12의 부분 축적 버퍼(131)는, 서브레이어 1의 축적 버퍼와 서브레이어 2의 축적 버퍼를 갖고 있다. 즉, 서브레이어 1의 축적 버퍼에는, 예를 들어 도 13의 인핸스먼트 레이어에 있어서의 서브레이어 1의 B2, B4, B6으로 나타내는 B 픽처의 부호 데이터가 축적된다. 서브레이어 2의 축적 버퍼에는, 인핸스먼트 레이어에 있어서의 서브레이어 2의 b1, b3, b5, b7로 나타내는 B 픽처의 부호화 데이터가 축적된다.
그리고, 도 12에 도시된 베이스 레이어 화상 부호화부(101-1)의 축적 버퍼(117)(의 전체 축적 버퍼(132))에는, 도 13의 베이스 레이어의 모든 픽처의 부호화 데이터가 축적되고, 그 버퍼 상태를 나타내는 정보가, 하위 계층 전체 축적 버퍼의 상태를 나타내는 정보로서, 계층 HRD 파라미터 산출부(141)에 공급된다.
또한, 도시를 생략하였지만, 베이스 레이어 화상 부호화부(101-1)의 축적 버퍼(117)의 부분 축적 버퍼(131)는, 서브레이어 1의 축적 버퍼와 서브레이어 2의 축적 버퍼를 갖고 있다. 즉, 서브레이어 1의 축적 버퍼에는, 예를 들어 도 13의 베이스 레이어에 있어서의 서브레이어 1의 B2, B4, B6으로 나타내는 B 픽처의 부호 데이터가 축적된다. 서브레이어 2의 축적 버퍼에는, 베이스 레이어에 있어서의 서브레이어 2의 b1, b3, b5, b7로 나타내는 B 픽처의 부호화 데이터가 축적된다.
<부호화 처리의 흐름>
다음으로, 이상과 같은 스케일러블 부호화 장치(100)에 의해 실행되는 각 처리의 흐름에 대하여 설명한다. 처음에, 도 14의 흐름도를 참조하여, 부호화 처리의 흐름의 예를 설명한다.
부호화 처리가 개시되면, 스텝 S101에 있어서, 스케일러블 부호화 장치(100)의 부호화 제어부(102)는, 화상의 참조 관계 등을 고려하여 처리 대상의 레이어를 결정한다.
베이스 레이어 화상 부호화부(101-1)는, 스텝 S102에 있어서, 부호화 제어부(102)의 제어 하에 레이어 부호화 처리를 행한다. 이 레이어 부호화 처리에 대해서는, 도 15를 참조하여 후술된다. 스텝 S102의 처리가 종료되면, 처리는 스텝 S103으로 진행된다.
스텝 S103에 있어서, 부호화 제어부(102)는, 모든 주 레이어를 처리했는지 여부를 판정한다. 미처리의 주 레이어가 존재한다고 판정된 경우, 처리는 스텝 S104로 진행된다.
스텝 S104에 있어서, 부호화 제어부(102)는, 다음의 미처리의 주 레이어를 처리 대상(커런트 주 레이어)으로 한다. 스텝 S104의 처리가 종료되면, 처리는 스텝 S102로 되돌아간다. 스텝 S102에 있어서, 인핸스먼트 레이어 화상 부호화부(101-2)는, 부호화 제어부(102)의 제어 하에 레이어 부호화 처리를 행한다. 이와 같이, 스텝 S102 내지 스텝 S104의 처리가 반복하여 실행되고, 각 주 레이어가 부호화된다. 또한, 스텝 S102의 처리는, 참조 관계가 없는 복수의 레이어 화상 부호화부(101)에 의해 병렬 처리되어도 된다.
그리고, 스텝 S103에 있어서, 모든 주 레이어가 처리되었다고 판정된 경우, 부호화 처리가 종료된다.
<레이어 부호화 처리의 흐름>
다음으로, 도 15의 흐름도를 참조하여, 도 14의 스텝 S102에 있어서의 레이어 부호화 처리에 대하여 설명한다. 또한, 도 15의 예에 있어서는, 일례로서, 인핸스먼트 레이어 화상 부호화부(101-2)의 예에 대하여 설명한다.
스텝 S111에 있어서, 인핸스먼트 레이어 화상 부호화부(101-2)의 A/D 변환부(111)는 입력된 인핸스먼트 레이어의 화상 정보(화상 데이터)를 A/D 변환한다. 스텝 S112에 있어서, 화면 재배열 버퍼(112)는, A/D 변환된 인핸스먼트 레이어의 화상 정보(디지털 데이터)를 기억하고, 각 픽처를, 표시하는 순서부터 부호화하는 순서로 재배열한다.
스텝 S113에 있어서, 인트라 예측부(124)는, 인트라 예측 모드의 인트라 예측 처리를 행한다. 스텝 S114에 있어서, 움직임 예측·보상부(125)는, 인터 예측 모드에서의 움직임 예측이나 움직임 보상을 행하는 인터 움직임 예측 처리를 행한다. 스텝 S115에 있어서, 예측 화상 선택부(126)는, 인트라 예측부(124) 및 움직임 예측·보상부(125)로부터 출력된 각 비용 함수값에 기초하여, 최적의 모드를 결정한다. 즉, 예측 화상 선택부(126)는, 인트라 예측부(124)에 의해 생성된 예측 화상과, 움직임 예측·보상부(125)에 의해 생성된 예측 화상 중 어느 한쪽을 선택한다. 스텝 S116에 있어서, 연산부(113)는, 스텝 S112의 처리에 의해 재배열할 수 있는 화상과, 스텝 S115의 처리에 의해 선택된 예측 화상과의 차분을 연산한다. 차분 데이터는 원래의 화상 데이터에 비해 데이터량이 저감된다. 따라서, 화상을 그대로 부호화하는 경우에 비하여 데이터량을 압축할 수 있다.
스텝 S117에 있어서, 직교 변환부(114)는, 스텝 S116의 처리에 의해 생성된 차분 정보에 대한 직교 변환 처리를 행한다. 스텝 S118에 있어서, 양자화부(115)는, 레이트 제어부(127)에 의해 산출된 양자화 파라미터를 사용하여, 스텝 S117의 처리에 의해 얻어진 직교 변환 계수를 양자화한다.
스텝 S118의 처리에 의해 양자화된 차분 정보는, 다음과 같이 하여 국부적으로 복호된다. 즉, 스텝 S119에 있어서, 역양자화부(118)는, 스텝 S118의 처리에 의해 생성된 양자화된 계수('양자화 계수'라고도 함)를 양자화부(115)의 특성에 대응하는 특성에 의해 역양자화한다. 스텝 S120에 있어서, 역직교 변환부(119)는, 스텝 S117의 처리에 의해 얻어진 직교 변환 계수를 역직교 변환한다. 스텝 S121에 있어서, 연산부(120)는, 예측 화상을 국부적으로 복호된 차분 정보에 가산하여, 국부적으로 복호된 화상(연산부(113)에 대한 입력에 대응하는 화상)을 생성한다.
스텝 S122에 있어서 루프 필터(121)는, 스텝 S121의 처리에 의해 생성된 화상을 필터링한다. 이에 의해 블록 왜곡 등이 제거된다. 스텝 S123에 있어서, 프레임 메모리(122)는, 스텝 S122의 처리에 의해 블록 왜곡의 제거 등이 행해진 화상을 기억한다. 또한, 프레임 메모리(122)에는 루프 필터(121)에 의해 필터 처리되지 않은 화상도 연산부(120)로부터 공급되고, 기억된다. 이 프레임 메모리(122)에 기억된 화상은, 스텝 S113의 처리나 스텝 S114의 처리에 이용된다.
스텝 S124에 있어서, HRD 타입 설정부(128)는, HRD 파라미터 부호화 처리를 행한다.이 HRD 파라미터 부호화 처리에 대해서는, 도 16을 참조하여 후술하지만, 이 처리에 의해, HRD 파라미터 타입을 나타내는 플래그와 HRD 파라미터가, 가역 부호화부(116)에 공급된다.
스텝 S125에 있어서, 가역 부호화부(116)는, 스텝 S118의 처리에 의해 양자화된 계수를 부호화한다. 즉, 차분 화상에 대응하는 데이터에 대하여 가변 길이 부호화나 산술 부호화 등의 가역 부호화가 행해진다.
또한, 이때, 가역 부호화부(116)는, 스텝 S115의 처리에 의해 선택된 예측 화상의 예측 모드에 관한 정보를 부호화하고, 차분 화상을 부호화하여 얻어지는 부호화 데이터에 부가한다. 즉, 가역 부호화부(116)는, 인트라 예측부(124)로부터 공급되는 최적 인트라 예측 모드 정보, 또는 움직임 예측·보상부(125)로부터 공급되는 최적 인터 예측 모드에 따른 정보 등도 부호화하여, 부호화 데이터에 부가한다. 또한, 가역 부호화부(116)는, 스텝 S124의 처리에 의해 공급된 HRD 파라미터 타입을 나타내는 플래그와 HRD 파라미터 등의 정보도 부호화하여, 부호화 데이터에 부가한다.
스텝 S126에 있어서 축적 버퍼(117)는, 스텝 S125의 처리에 의해 얻어진 인핸스먼트 레이어 부호화 데이터를 축적한다. 축적 버퍼(117)에 축적된 인핸스먼트 레이어 부호화 데이터는, 적절히 판독되고, 전송로나 기록 매체를 통해 복호측으로 전송된다.
스텝 S127에 있어서 레이트 제어부(127)는, 스텝 S126의 처리에 의해 축적 버퍼(117)에 축적된 부호화 데이터의 부호량(발생 부호량)에 기초하여, 오버플로우 혹은 언더플로우가 발생하지 않도록, 양자화부(115)의 양자화 동작의 레이트를 제어한다. 또한, 레이트 제어부(127)는, 양자화 파라미터에 관한 정보를, 양자화부(115)에 공급한다.
스텝 S127의 처리가 종료하면, 부호화 처리가 종료되고, 처리는 도 14의 스텝 S102로 되돌아간다.
<HRD 파라미터 부호화 처리의 흐름>
다음으로, 도 16의 흐름도를 참조하여, 또한 도 16의 예에 있어서는, 도 7에 도시한 HRD 파라미터가 부호화되는 예가 도시되어 있다.
스텝 S131에 있어서, HRD 파라미터 타입 설정부(143)는, 유저의 지시에 대응하여, HRD 파라미터 타입을 설정한다. HRD 파라미터 타입 설정부(143)는, 설정된 HRD 파라미터 타입을 나타내는 플래그를, 가역 부호화부(116) 및 계층 HRD 파라미터 산출부(141)에 공급한다.
스텝 S132에 있어서, 계층 HRD 파라미터 산출부(141)는, HRD 파라미터 타입 설정부(143)로부터의 HRD 파라미터 타입을 나타내는 플래그에 따라서, 상기 계층의 HRD 파라미터의 산출 처리를 행한다. 이 HRD 파라미터의 산출 처리는, 도 17을 참조하여 후술된다.
스텝 S133에 있어서, 계층 HRD 파라미터 산출부(141)는, 스텝 S132에 의해 산출된 상기 계층의 HRD 파라미터를, 가역 부호화부(116)에 공급하고, 부호화시킨다.
스텝 S131에 의해 공급된 HRD 파라미터 타입을 나타내는 플래그, 및 스텝 S133에 의해 공급된 계층의 HRD 파라미터는, 도 15의 스텝 S125에 있어서 부호화된다.
스텝 S134에 있어서, 시간 HRD 파라미터 타입 설정부(144)는, 유저의 지시에 대응하여, 서브 HRD 파라미터 타입을 설정한다. 시간 HRD 파라미터 타입 설정부(144)는, 설정한 서브 HRD 파라미터 타입을 나타내는 플래그를, 가역 부호화부(116) 및 시간 계층 HRD 파라미터 산출부(142)에 공급한다.
스텝 S135에 있어서, 시간 계층 HRD 파라미터 산출부(142)는, 시간 HRD 파라미터 타입 설정부(144)로부터의 서브 HRD 파라미터 타입을 나타내는 플래그에 따라서, 상기 시간 계층의 HRD 파라미터의 산출 처리를 행한다. 이 시간 계층의 HRD 파라미터의 산출 처리는, 도 18을 참조하여 후술된다.
스텝 S136에 있어서, 시간 계층 HRD 파라미터 산출부(142)는, 스텝 S135에 의해 산출된 상기 시간 계층의 HRD 파라미터를, 가역 부호화부(116)에 공급하고, 부호화시킨다.
스텝 S134에 의해 공급된 서브 HRD 파라미터 타입을 나타내는 플래그, 및 스텝 S134에 의해 공급된 시간 계층의 HRD 파라미터는, 도 15의 스텝 S125에 있어서 부호화된다.
시간 계층 HRD 파라미터 산출부(142)는, 스텝 S137에 있어서, 모든 시간 계층에 대한 처리가 종료되었는지 여부를 판정한다. 스텝 S137에 있어서, 모든 시간 계층에 관한 처리가 종료되었다고 판정된 경우, HRD 파라미터 부호화 처리는 종료되고, 처리는, 도 15의 스텝 S124로 되돌아간다.
스텝 S137에 있어서, 모든 시간 계층에 대한 처리가 아직 종료되지 않았다고 판정된 경우, 처리는 스텝 S134로 되돌아가서, 그 이후의 처리가 반복된다.
<HRD 파라미터 산출 처리의 흐름>
다음으로, 도 17의 흐름도를 참조하여, 도 16의 스텝 S132에 있어서의 HRD 파라미터의 산출 처리에 대하여 설명한다.
도 16의 스텝 S131에 의해 계층 HRD 파라미터 산출부(141)에 HRD 파라미터 타입 플래그가 공급된다. 스텝 S141에 있어서, 계층 HRD 파라미터 산출부(141)는, HRD 파라미터 타입 설정부(143)로부터의 HRD 파라미터 타입 플래그가 1인지 여부를 판정한다.
스텝 S141에 있어서, HRD 파라미터 타입 플래그가 1이라고 판정된 경우, 처리는 스텝 S142로 진행된다.
스텝 S142에 있어서, 계층 HRD 파라미터 산출부(141)는, 전체 축적 버퍼(132)의 상태를 나타내는 정보를 취득한다. 스텝 S143에 있어서, 계층 HRD 파라미터 산출부(141)는, 취득된 전체 축적 버퍼(132)의 상태를 나타내는 정보에 기초하여, 상기 계층의 HRD 파라미터를 산출한다.
스텝 S141에 있어서, HRD 파라미터 타입 플래그가 1이 아니라고 판정된 경우, 처리는 스텝 S144로 진행된다.
스텝 S144에 있어서, 계층 HRD 파라미터 산출부(141)는, 전체 축적 버퍼(132)의 상태를 나타내는 정보를 취득한다. 스텝 S145에 있어서, 계층 HRD 파라미터 산출부(141)는, 베이스 레이어 화상 부호화부(101-1)의 축적 버퍼(117: 하위 계층)의 상태를 나타내는 정보를 취득한다. 스텝 S146에 있어서, 계층 HRD 파라미터 산출부(141)는, 취득된 정보에 기초하여, 상기 계층의 HRD 파라미터를 산출한다.
스텝 S143 및 S146 후에, HRD 파라미터 산출 처리는 종료되고, 도 16의 스텝 S132로 되돌아간다.
<시간 계층의 HRD 파라미터 산출 처리의 흐름>
다음으로, 도 18의 흐름도를 참조하여, 도 16의 스텝 S135에 있어서의 시간 계층의 HRD 파라미터의 산출 처리에 대하여 설명한다.
도 16의 스텝 S134에 의해 시간 계층 HRD 파라미터 산출부(142)에 서브 HRD 파라미터 타입 플래그가 공급된다. 스텝 S151에 있어서, 시간 계층 HRD 파라미터 산출부(142)는, 시간 HRD 파라미터 타입 설정부(144)로부터의 서브 HRD 파라미터 타입 플래그가 1인지 여부를 판정한다.
스텝 S151에 있어서, 서브 HRD 파라미터 타입 플래그가 1이라고 판정된 경우, 처리는 스텝 S152로 진행된다.
스텝 S152에 있어서, 시간 계층 HRD 파라미터 산출부(142)는, 부분 축적 버퍼(131)가 대응하는 시간 계층의 축적 버퍼의 상태를 나타내는 정보를 취득한다. 스텝 S153에 있어서, 시간 계층 HRD 파라미터 산출부(142)는, 취득된 부분 축적 버퍼(131)의 상태를 나타내는 정보에 기초하여, 상기 시간 계층의 HRD 파라미터를 산출한다.
스텝 S151에 있어서, 서브 HRD 파라미터 타입 플래그가 1이 아니라고 판정된 경우, 처리는 스텝 S154로 진행된다.
스텝 S154에 있어서, 시간 계층 HRD 파라미터 산출부(142)는, 전체 축적 버퍼(132)의 상태를 나타내는 정보를 취득한다. 스텝 S155에 있어서, 시간 계층 HRD 파라미터 산출부(142)는, 부분 축적 버퍼(131)가 대응하는 시간 계층의 축적 버퍼의 상태를 나타내는 정보를 취득한다. 스텝 S156에 있어서, 시간 계층 HRD 파라미터 산출부(142)는, 취득한 정보에 기초하여, 상기 시간 계층의 HRD 파라미터를 산출한다.
스텝 S153 및 S156 후에, 시간 계층 HRD 파라미터 산출 처리는 종료되고, 도 16의 스텝 S135로 되돌아간다.
<HRD 파라미터 부호화 처리의 다른 흐름>
다음으로, 도 19의 흐름도를 참조하여, 도 15의 스텝 S124의 HRD 파라미터 부호화 처리에 대하여 설명한다. 또한, 도 16의 예에 있어서는, 도 8 및 도 9에 도시한 HRD 파라미터가 부호화되는 예가 도시되어 있다.
스텝 S161에 있어서, HRD 파라미터 타입 설정부(143)는, 유저의 지시에 대응하여, HRD 파라미터 타입을 설정한다. HRD 파라미터 타입 설정부(143)는, 설정된 HRD 파라미터 타입을 나타내는 플래그를, 가역 부호화부(116) 및 계층 HRD 파라미터 산출부(141)에 공급한다.
스텝 S162에 있어서, 계층 HRD 파라미터 산출부(141)는, HRD 파라미터 타입 설정부(143)로부터의 HRD 파라미터 타입을 나타내는 플래그에 따라서, 상기 계층의 HRD 파라미터의 산출 처리를 행한다. 이 HRD 파라미터의 산출 처리는, 도 17을 참조하여 전술한 처리와 기본적으로 마찬가지의 처리를 행하기 때문에, 반복이 되므로, 그 설명은 생략된다.
스텝 S163에 있어서, 계층 HRD 파라미터 산출부(141)는, 타입 1과 타입 2의 모든 타입의 HRD 파라미터의 산출 처리를 종료하였는지 여부를 판정한다. 스텝 S163에 있어서, 아직, 모든 타입의 HRD 파라미터의 산출 처리가 종료되지 않았다고 판정된 경우, 처리는 스텝 S162로 되돌아가서, 그 이후의 처리가 반복된다.
또한, 타입 1 또는 타입 2 중 어느 한쪽밖에 산출되지 않는 경우, 처리는 스텝 S163으로 진행된다.
스텝 S163에 있어서, 모든 타입의 HRD 파라미터의 산출 처리를 종료하였다고 판정된 경우, 처리는 스텝 S164로 진행된다.
스텝 S164에 있어서, 계층 HRD 파라미터 산출부(141)는, 스텝 S162에 의해 산출된 상기 계층의 HRD 파라미터를, 가역 부호화부(116)에 공급하고, 부호화시킨다.
스텝 S161에 의해 공급된 HRD 파라미터 타입을 나타내는 플래그 및 스텝 S164에 의해 공급된 계층의 HRD 파라미터는, 도 15의 스텝 S125에 있어서 부호화된다.
스텝 S165에 있어서, 시간 HRD 파라미터 타입 설정부(144)는, 유저의 지시에 대응하여, 서브 HRD 파라미터 타입을 설정한다. 시간 HRD 파라미터 타입 설정부(144)는, 설정한 서브 HRD 파라미터 타입을 나타내는 플래그를, 가역 부호화부(116) 및 시간 계층 HRD 파라미터 산출부(142)에 공급한다.
스텝 S166에 있어서, 시간 계층 HRD 파라미터 산출부(142)는, 시간 HRD 파라미터 타입 설정부(144)로부터의 서브 HRD 파라미터 타입을 나타내는 플래그에 따라서, 그 시간 계층의 HRD 파라미터의 산출 처리를 행한다. 이 시간 계층의 HRD 파라미터의 산출 처리는, 도 18을 참조하여 전술한 처리와 기본적으로 마찬가지의 처리를 행하기 때문에, 반복이 되므로 그 설명은 생략된다.
스텝 S167에 있어서, 계층 HRD 파라미터 산출부(141)는, 타입 1과 타입 2의 모든 타입의 HRD 파라미터의 산출 처리를 종료하였는지 여부를 판정한다. 스텝 S163에 있어서, 아직, 모든 타입의 HRD 파라미터의 산출 처리가 종료되지 않았다고 판정된 경우, 처리는 스텝 S166으로 되돌아가서, 그 이후의 처리가 반복된다.
또한, 타입 1 또는 타입 2 중 어느 한쪽밖에 산출되지 않는 경우, 처리는 스텝 S168로 진행된다.
스텝 S167에 있어서, 모든 타입의 HRD 파라미터의 산출 처리를 종료하였다고 판정된 경우, 처리는 스텝 S168로 진행된다.
스텝 S168에 있어서, 시간 계층 HRD 파라미터 산출부(142)는, 스텝 S166에 의해 산출된 상기 시간 계층의 HRD 파라미터를, 가역 부호화부(116)에 공급하고, 부호화시킨다.
스텝 S165에 의해 공급된 서브 HRD 파라미터 타입을 나타내는 플래그 및 스텝 S168에 의해 공급된 시간 계층의 HRD 파라미터는, 도 15의 스텝 S125에 있어서 부호화된다.
시간 계층 HRD 파라미터 산출부(142)는, 스텝 S169에 있어서, 모든 시간 계층에 대한 처리가 종료되었는지 여부를 판정한다. 스텝 S169에 있어서, 모든 시간 계층에 대한 처리가 종료되었다고 판정된 경우, HRD 파라미터 부호화 처리는 종료되고, 처리는 도 15의 스텝 S124로 되돌아간다.
스텝 S169에 있어서, 모든 시간 계층에 대한 처리가 아직 종료되지 않았다고 판정된 경우, 처리는 스텝 S165로 되돌아가서, 그 이후의 처리가 반복된다.
이상과 같이, 부호화측에 있어서, HRD 파라미터가, 상기 계층에서만 복호 처리를 행하기 위한 파라미터인지, 상기 계층 및 그 이하의 계층을 포함한 복호 처리를 행하기 위한 파라미터인지를 나타내는 HRD 파라미터 타입 플래그를 설정하도록 하였다. 이에 의해, 적절한 타이밍에 복호 처리를 행할 수 있다.
<2. 제2 실시 형태>
<스케일러블 복호 장치>
다음으로, 이상과 같이 스케일러블 부호화(계층 부호화)된 부호화 데이터(비트 스트림)의 복호에 대하여 설명한다. 도 20은, 도 10의 스케일러블 부호화 장치(100)에 대응하는 스케일러블 복호 장치의 주된 구성예를 나타내는 블록도이다.도 20에 도시된 스케일러블 복호 장치(200)는, 예를 들어 스케일러블 부호화 장치(100)에 의해 화상 데이터가 스케일러블 부호화되어 얻어진 부호화 데이터를, 그 부호화 방법에 대응하는 방법에 의해 스케일러블 복호한다.
스케일러블 복호 장치(200)는, 베이스 레이어 화상 복호부(201-1), 인핸스먼트 레이어 화상 복호부(201-2) 및 복호 제어부(202)를 포함하게 구성된다.
베이스 레이어 화상 복호부(201-1)는, 도 10의 베이스 레이어 화상 부호화부(101-1)에 대응하는 화상 복호부이며, 예를 들어 베이스 레이어 화상 부호화부(101-1)에 의해 베이스 레이어 화상 정보가 부호화되어 얻어진 베이스 레이어 부호화 데이터를 취득한다. 베이스 레이어 화상 복호부(201-1)는, 다른 레이어를 참조하지 않고, 그 베이스 레이어 부호화 데이터를 복호하고, 베이스 레이어 화상 정보를 재구축하여, 출력한다.
인핸스먼트 레이어 화상 복호부(201-2)는, 인핸스먼트 레이어 화상 부호화부(101-2)에 대응하는 화상 복호부이며, 예를 들어 인핸스먼트 레이어 화상 부호화부(101-2)에 의해 인핸스먼트 레이어 화상 정보가 부호화되어서 얻어진 인핸스먼트 레이어 부호화 데이터를 취득한다. 인핸스먼트 레이어 화상 복호부(201-2)는, 그 인핸스먼트 레이어 부호화 데이터를 복호한다. 그 때, 인핸스먼트 레이어 화상 복호부(201-2)는, 필요에 따라서, 베이스 레이어의 복호에 관한 정보를 참조하여 레이어 간 예측을 행한다.
또한, 각 부호화 데이터(비트 스트림)에는, HRD 파라미터 타입을 나타내는 플래그와, HRD 파라미터가 부가되어 송신되어 온다. 인핸스먼트 레이어 화상 복호부(201-2)는, HRD 파라미터 타입을 나타내는 플래그를 수취하고, 수취한 HRD 파라미터 타입을 나타내는 플래그에 따라서, 축적 버퍼의 상태 정보를 취득하고, 축적 버퍼를 감시한다.
HRD 파라미터 타입을 나타내는 플래그가 1인 경우, 인핸스먼트 레이어 화상 복호부(201-2)는, HRD 파라미터가 상기 계층만의 복호를 행하는 파라미터인 것으로서, 자신의 축적 버퍼의 상태 정보를 취득하여, 축적 버퍼의 감시를 행한다. HRD 파라미터 타입을 나타내는 플래그가 0인 경우, 인핸스먼트 레이어 화상 복호부(201-2)는, HRD 파라미터가 상기 계층과 그 이하의 계층을 포함하는 복호 처리를 행하는 파라미터인 것으로서, 베이스 레이어 화상 복호부(201-1)의 축적 버퍼의 상태 정보를 취득하여, 축적 버퍼의 감시를 행한다. 이 처리는, 레이어(계층) 및 서브레이어(시간 계층)에 대하여 행해진다. 또한, 베이스 레이어 화상 복호부(201-1)에 있어서는, 서브레이어에 대해서만, 이 처리가 행해진다.
인핸스먼트 레이어 화상 복호부(201-2)는, 이와 같은 복호에 의해, 인핸스먼트 레이어의 부호화 데이터를 복호하고, 인핸스먼트 레이어 화상 정보를 재구축하여 출력한다.
또한, 베이스 레이어 화상 복호부(201-1) 및 인핸스먼트 레이어 화상 복호부(201-2)를, 적절히 레이어 화상 복호부(201)라고 통합하여 칭한다.
복호 제어부(202)는, 각 레이어 화상 복호부(201)의 참조 관계 등을 고려하여 각 레이어 화상 복호부(201)의 복호 처리의 제어를 행한다.
또한, 도 20의 예에 있어서는, 인핸스먼트 레이어 화상 복호부(201-2)가 1대밖에 기재되어 있지 않지만, 또한 상위 계층이 있는 경우에는, 그 상위 계층을 부호화하는 인핸스먼트 레이어 화상 복호부(201-3, 4, …)도 상위 계층만큼 구성된다.
<레이어 화상 복호부의 구성예>
도 21은, 도 20의 인핸스먼트 레이어 화상 복호부(201-2)의 주된 구성예를 나타내는 블록도이다. 또한, 도 20의 베이스 레이어 화상 복호부(201-1)도, 대상이 되는 화상의 종류가 서로 다를 뿐이며, 도 21의 인핸스먼트 레이어 화상 복호부(201-2)와 기본적으로 마찬가지의 구성을 하고 있다. 도 21의 예에 있어서는, 설명의 편의상, 인핸스먼트 레이어 화상 복호부(201-2)의 구성으로 예를 들어 설명한다.
도 21에 도시된 바와 같이 인핸스먼트 레이어 화상 복호부(201-2)는, 축적 버퍼(211), 가역 복호부(212), 역양자화부(213), 역직교 변환부(214), 연산부(215), 루프 필터(216), 화면 재배열 버퍼(217), 및 D/A 변환부(218)를 갖는다. 또한, 인핸스먼트 레이어 화상 복호부(201-2)는, 프레임 메모리(219), 선택부(220), 인트라 예측부(221), 움직임 예측·보상부(222), 및 선택부(223)를 갖는다. 또한, 인핸스먼트 레이어 화상 복호부(201-2)는, HRD 타입 복호부(224)를 갖는다.
축적 버퍼(211)는, 전송되어 온 인핸스먼트 레이어 부호화 데이터를 수취하는 수취부이기도 하다. 축적 버퍼(211)는, 전송되어 온 인핸스먼트 레이어 부호화 데이터를 수취하고, 축적하여, 소정의 타이밍에 있어서 그 부호화 데이터를 가역 복호부(212)에 공급한다. 이 인핸스먼트 레이어 부호화 데이터에는, 예측 모드 정보 등의 복호에 필요한 정보가 부가되어 있다. 인핸스먼트 레이어 부호화 데이터에는, HRD 파라미터 타입을 나타내는 플래그와 HRD 파라미터도 부가되어 있다.
축적 버퍼(211)는, HRD 타입 복호부(224)로부터 요구가 있는 경우에, 축적 버퍼(211)의 상태를 나타내는 정보를 공급한다. 또한, 예를 들어 점선으로 나타낸 바와 같이, 상위 계층의 인핸스먼트 레이어 화상 복호부(201-3)가 존재하고, 그 HRD 타입 복호부(224)로부터 요구가 있는 경우에, 축적 버퍼(211)는, 축적 버퍼(211)의 상태를 나타내는 정보를 공급한다.
가역 복호부(212)는, 축적 버퍼(211)로부터 공급된, 가역 부호화부(116)에 의해 부호화된 정보를, 가역 부호화부(116)의 부호화 방식에 대응하는 방식으로 복호한다. 가역 복호부(212)는, 복호하여 얻어진 차분 화상의 양자화된 계수 데이터를, 역양자화부(213)에 공급한다.
또한, 가역 복호부(212)는, 인핸스먼트 레이어 부호화 데이터에 포함되는 비디오 파라미터 세트(VPS), 시퀀스 파라미터 세트(SPS) 및 픽처 파라미터 세트(PPS) 등을 포함하는 NAL 유닛을 적절히 추출하고, 취득한다. 가역 복호부(212)는, 그들 정보로부터, 최적의 예측 모드에 관한 정보를 추출하고, 그 정보에 기초하여 최적의 예측 모드에 인트라 예측 모드가 선택되었는지 인터 예측 모드가 선택되었는지를 판정하고, 그 최적의 예측 모드에 관한 정보를, 인트라 예측부(221) 및 움직임 예측·보상부(222) 중, 선택되었다고 판정된 모드 쪽에 공급한다.
즉, 예를 들어 인핸스먼트 레이어 화상 복호부(201-2)에 있어서 최적의 예측 모드로서 인트라 예측 모드가 선택된 경우, 그 최적의 예측 모드에 관한 정보가 인트라 예측부(221)에 공급된다. 또한, 예를 들어 인핸스먼트 레이어 화상 복호부(201-2)에 있어서 최적의 예측 모드로서 인터 예측 모드가 선택된 경우, 그 최적의 예측 모드에 관한 정보가 움직임 예측·보상부(222)에 공급된다.
또한, 가역 복호부(212)는, 예를 들어 양자화 행렬이나 양자화 파라미터 등의, 역양자화에 필요한 정보를 NAL 유닛 등으로부터 추출하고, 그것을 역양자화부(213)에 공급한다. 또한, 가역 복호부(212)는, 예를 들어 VPS 등으로부터, HRD 파라미터 타입을 나타내는 플래그와 HRD 파라미터를 추출하고, 그것을, HRD 타입 복호부(224)에 공급한다.
역양자화부(213)는, 가역 복호부(212)에 의해 복호되어 얻어진 양자화된 계수 데이터를, 양자화부(115)의 양자화 방식에 대응하는 방식에 의해 역양자화한다. 또한, 이 역양자화부(213)는, 역양자화부(118)와 마찬가지의 처리부이다. 즉, 역양자화부(213)의 설명은, 역양자화부(118)에도 준용할 수 있다. 단, 데이터의 입출력처 등은, 장치에 따라서 적절히 바꾸어서 읽을 필요가 있다. 역양자화부(213)는, 얻어진 계수 데이터를 역직교 변환부(214)에 공급한다.
역직교 변환부(214)는, 역양자화부(213)로부터 공급되는 계수 데이터를, 직교 변환부(114)의 직교 변환 방식에 대응하는 방식에 의해 역직교 변환한다. 또한, 이 역직교 변환부(214)는, 역직교 변환부(119)와 마찬가지의 처리부이다. 즉, 역직교 변환부(214)의 설명은, 역직교 변환부(119)에도 준용할 수 있다. 단, 데이터의 입출력처 등은, 장치에 따라서 적절히 바꾸어서 읽을 필요가 있다.
역직교 변환부(214)는, 이 역직교 변환 처리에 의해, 직교 변환부(114)에 있어서 직교 변환되기 전의 잔차 데이터에 대응하는 복호 잔차 데이터를 얻는다. 역직교 변환되어 얻어진 복호 잔차 데이터는, 연산부(215)에 공급된다. 또한, 연산부(215)에는, 선택부(223)를 통하여, 인트라 예측부(221) 혹은 움직임 예측·보상부(222)로부터 예측 화상이 공급된다.
연산부(215)는, 그 복호 잔차 데이터와 예측 화상을 가산하고, 연산부(113)에 의해 예측 화상이 감산되기 전의 화상 데이터에 대응하는 복호 화상 데이터를 얻는다. 연산부(215)는, 그 복호 화상 데이터를 루프 필터(216)에 공급한다.
루프 필터(216)는, 공급된 복호 화상에 대하여 디블록 필터나, 적응 오프셋 필터, 적응 루프 필터 등을 포함하는 필터 처리를 적절히 실시하고, 그것을 화면 재배열 버퍼(217) 및 프레임 메모리(219)에 공급한다. 예를 들어, 루프 필터(216)는, 복호 화상에 대하여 디블록 필터 처리를 행함으로써 복호 화상의 블록 왜곡을 제거한다. 또한, 예를 들어 루프 필터(216)는, 그 디블록 필터 처리 결과(블록 왜곡의 제거가 행해진 복호 화상)에 대하여 위너 필터(Wiener Filter)를 사용하여 루프 필터 처리를 행함으로써 화질 개선을 행한다. 또한, 이 루프 필터(216)는, 루프 필터(121)와 마찬가지의 처리부이다.
또한, 연산부(215)로부터 출력되는 복호 화상은, 루프 필터(216)를 통하지 않고 화면 재배열 버퍼(217)나 프레임 메모리(219)에 공급할 수 있다. 즉, 루프 필터(216)에 의한 필터 처리의 일부 혹은 전부를 생략할 수 있다.
화면 재배열 버퍼(217)는, 복호 화상의 재배열을 행한다. 즉, 화면 재배열 버퍼(112)에 의해 부호화의 순서를 위해 재배열된 프레임의 순서가, 원래의 표시의 순서대로 재배열된다. D/A 변환부(218)는, 화면 재배열 버퍼(217)로부터 공급된 화상을 D/A 변환하고, 도시를 생략한 디스플레이로 출력하여, 표시시킨다.
프레임 메모리(219)는, 공급되는 복호 화상을 기억하고, 소정의 타이밍에 있어서, 혹은, 인트라 예측부(221)나 움직임 예측·보상부(222) 등의 외부의 요구에 기초하여, 기억하고 있는 복호 화상을 참조 화상으로 하여, 선택부(220)에 공급한다.
또한, 프레임 메모리(219)는, 기억하는 복호 화상을, 인핸스먼트 레이어의 복호에 관한 정보로서, 보다 상위 계층의 인핸스먼트 레이어 화상 복호부(201-2)에 공급한다.
선택부(220)는, 프레임 메모리(219)로부터 공급되는 참조 화상의 공급처를 선택한다. 선택부(220)는, 인트라 부호화된 화상을 복호하는 경우, 프레임 메모리(219)로부터 공급되는 참조 화상을 인트라 예측부(221)에 공급한다. 또한, 선택부(220)는, 인터 부호화된 화상을 복호하는 경우, 프레임 메모리(219)로부터 공급되는 참조 화상을 움직임 예측·보상부(222)에 공급한다.
인트라 예측부(221)에는, 헤더 정보를 복호하여 얻어진 인트라 예측 모드를 나타내는 정보 등이 가역 복호부(212)로부터 적절히 공급된다. 인트라 예측부(221)는, 인트라 예측부(124)에 있어서 사용된 인트라 예측 모드에서, 프레임 메모리(219)로부터 취득한 참조 화상을 사용해서 인트라 예측을 행하고, 예측 화상을 생성한다. 인트라 예측부(221)는, 생성한 예측 화상을 선택부(223)에 공급한다.
움직임 예측·보상부(222)는, 헤더 정보를 복호하여 얻어진 정보(최적 예측 모드 정보, 참조 화상 정보 등)를 가역 복호부(212)로부터 취득한다.
움직임 예측·보상부(222)는, 가역 복호부(212)로부터 취득된 최적 예측 모드 정보가 나타내는 인터 예측 모드에서, 프레임 메모리(219)로부터 취득한 참조 화상을 사용하여 인터 예측을 행하고, 예측 화상을 생성한다. 또한, 도시를 생략하였지만, 움직임 예측·보상부(222)에 있어서는, 베이스 레이어 화상 복호부(201-1)의 프레임 메모리(219)로부터의 참조 화상도 필요에 따라서 참조된다.
선택부(223)는, 인트라 예측부(221)로부터의 예측 화상 또는 움직임 예측·보상부(222)로부터의 예측 화상을, 연산부(215)에 공급한다. 그리고, 연산부(215)에 있어서는, 움직임 벡터가 사용되어 생성된 예측 화상과 역직교 변환부(214)로부터의 복호 잔차 데이터(차분 화상 정보)가 가산되어 원래의 화상이 복호된다.
HRD 타입 복호부(224)는, 가역 복호부(212)로부터의 HRD 파라미터 타입을 나타내는 플래그에 따라서, 축적 버퍼(211)나, 베이스 레이어 화상 복호부(201-1)의 축적 버퍼(211: 하위 계층)로부터, 축적 상태를 나타내는 정보를 취득한다. HRD 타입 복호부(224)는, HRD 파라미터 타입을 나타내는 플래그에 따른 HRD 파라미터에 따라서, 취득한 정보에 기초하여 축적 버퍼(211)를 감시한다.
<축적 버퍼 및 HRD 타입 복호부의 구성예>
도 22는, 도 21의 축적 버퍼 및 HRD 타입 복호부의 구성예를 나타내는 블록도이다.
도 22의 예에 있어서는, 축적 버퍼(211)는, 부분 축적 버퍼(231) 및 전체 축적 버퍼(232)를 포함하게 구성되어 있다.
HRD 타입 복호부(224)는, 계층 HRD 파라미터 감시부(241), 시간 계층 HRD 파라미터 감시부(242), HRD 파라미터 타입 복호부(243), 및 시간 HRD 파라미터 타입 복호부(244)를 포함하게 구성되어 있다.
부분 축적 버퍼(231)는, 전체 축적 버퍼(232)에 축적되는 부호화 데이터(부호) 중 각 상위 시간 계층에 관한 부호화 데이터를 각각 축적하는 각 축적 버퍼에 의해 구성되어 있다. 각 축적 버퍼의 상태를 나타내는 정보는, 요구에 따라서, 시간 계층 HRD 파라미터 감시부(242)에 공급된다.
전체 축적 버퍼(232)는, 인핸스먼트 레이어화상 부호화부(101-2)에 의해 부호화된 부호화 데이터(부호)를 축적한다. 또한, 전체 축적 버퍼(232)의 전체 축적 버퍼의 상태를 나타내는 정보는, 요구에 따라서, 계층 HRD 파라미터 감시부(241) 및 시간 계층 HRD 파라미터 감시부(242)에 공급된다. 또한, 점선으로 나타낸 바와 같이, 상위 계층의 인핸스먼트 레이어 화상 복호부(201-3)가 존재하는 경우가 있다. 이 경우, 인핸스먼트 레이어 화상 복호부(201-3)의 HRD 타입 복호부(224: 상위 계층)가 요구에 따라서, 전체 축적 버퍼(232)의 전체 축적 버퍼의 상태를 나타내는 정보는, HRD 타입 복호부(224: 상위 계층)에도 공급된다.
계층 HRD 파라미터 감시부(241)는, 가역 복호부(212)로부터의 HRD 파라미터를 수취하고, HRD 파라미터 타입 복호부(243)로부터의 HRD 파라미터 타입을 나타내는 플래그에 대응하는 HRD 파라미터를 취득한다. 계층 HRD 파라미터 감시부(241)는, 취득된 HRD 파라미터에 기초하여 축적 버퍼(211)를 감시한다.
즉, 계층 HRD 파라미터 감시부(241)는, HRD 파라미터 타입 복호부(243)로부터의 HRD 파라미터 타입을 나타내는 플래그에 따라서, 전체 축적 버퍼(232)의 상태를 나타내는 정보 및 베이스 레이어 화상 복호부(201-1)의 축적 버퍼(211: 하위 계층)의 상태를 나타내는 정보를 취득한다.
플래그가 1을 나타내는 HRD 파라미터 타입의 경우, 전체 축적 버퍼(232)의 상태를 나타내는 정보가 취득된다. 플래그가 0을 나타내는 HRD 파라미터 타입의 경우, 전체 축적 버퍼(232)의 상태를 나타내는 정보와 베이스 레이어 화상 복호부(201-1)의 축적 버퍼(211: 하위 계층)의 상태를 나타내는 정보가 취득된다. 또한, 실제로는, 베이스 레이어 화상 복호부(201-1)의 축적 버퍼의 전체 축적 버퍼(232)로부터 정보가 취득된다.
시간 계층 HRD 파라미터 감시부(242)는, 가역 복호부(212)로부터의 시간 계층 HRD 파라미터를 수취하고, 시간 HRD 파라미터 타입 복호부(244)로부터의 서브 HRD 파라미터 타입을 나타내는 플래그에 대응하는 시간 계층 HRD 파라미터를 취득한다. 계층 HRD 파라미터 감시부(241)는, 취득된 시간 계층 HRD 파라미터에 기초하여, 축적 버퍼(211)를 감시한다.
즉, 시간 계층 HRD 파라미터 감시부(242)는, 시간 HRD 파라미터 타입 복호부(244)로부터의 서브 HRD 파라미터 타입을 나타내는 플래그에 따라서, 전체 축적 버퍼(232)의 상태를 나타내는 정보 및 부분 축적 버퍼(231)가 대응하는 시간 계층의 축적 버퍼의 상태를 나타내는 정보를 취득한다.
서브 HRD 파라미터 타입을 나타내는 플래그가 1인 경우, 부분 축적 버퍼(231)가 대응하는 시간 계층의 축적 버퍼의 상태를 나타내는 정보가 취득된다. 서브 HRD 파라미터 타입을 나타내는 플래그가 0인 경우, 전체 축적 버퍼(232)의 상태를 나타내는 정보 및 부분 축적 버퍼(231)가 대응하는 시간 계층의 축적 버퍼의 상태를 나타내는 정보가 취득된다.
HRD 파라미터 타입 복호부(243)는, 가역 복호부(212)로부터의 HRD 파라미터 타입 플래그를 수취한다. 그리고, HRD 파라미터 타입 복호부(243)는, 수취한 플래그 중, 실제의 스트림 레이어 구성이나 장치의 구성이나 기능에 대응하는 HRD 파라미터 타입을 나타내는 플래그를 선택하여, 계층 HRD 파라미터 감시부(241)에 공급한다.
시간 HRD 파라미터 타입 복호부(244)는, 가역 복호부(212)로부터의 서브 HRD 파라미터 타입 플래그를 수취한다. 그리고, 시간 HRD 파라미터 타입 복호부(244)는, 수취한 플래그 중, 실제의 스트림 레이어 구성 또는 장치의 구성이나 기능에 대응하는 서브 HRD 파라미터 타입을 나타내는 플래그를 선택하여, 계층 HRD 파라미터 감시부(241)에 공급한다.
또한, 도 8 및 도 9를 참조하여 전술한 HRD 파라미터의 경우, 2개의 타입(상기 계층만의 타입과 상기 계층 이하의 계층도 포함하는 타입)이 기재되어 있으므로, 실제의 스트림 또는 장치의 구성이나 기능에 의해 어느 하나를 선택할 수 있다. 이에 반하여, 도 7을 참조하여 전술한 HRD 파라미터의 경우, 어느 쪽이든 한쪽의 타입밖에 기재되어 있지 않으므로, 기재되어 있는 타입과, 실제의 스트림 또는 장치의 구성이나 기능의 타입이 서로 다를 때, HRD 파라미터는 무시되게 된다.
<복호 처리의 흐름>
다음으로, 이상과 같은 스케일러블 복호 장치(200)에 의해 실행되는 각 처리의 흐름에 대하여 설명한다. 처음에, 도 23의 흐름도를 참조하여, 복호 처리의 흐름의 예를 설명한다.
복호 처리가 개시되면, 스텝 S201에 있어서, 스케일러블 복호 장치(200)의 복호 제어부(202)는, 화상의 참조 관계 등을 고려하여 처리 대상의 레이어를 결정한다.
베이스 레이어 화상 복호부(201-1)는, 스텝 S202에 있어서, 복호 제어부(202)의 제어 하에 레이어 복호 처리를 행한다. 이 레이어 복호 처리에 대해서는, 도 24를 참조하여 후술된다. 스텝 S202의 처리가 종료되면, 처리는 스텝 S203으로 진행된다.
스텝 S203에 있어서, 복호 제어부(202)는, 모든 주 레이어를 처리하였는지 여부를 판정한다. 미처리의 주 레이어가 존재한다고 판정된 경우, 처리는 스텝 S204로 진행된다.
스텝 S204에 있어서, 복호 제어부(202)는, 다음 미처리의 주 레이어를 처리 대상(커런트 주 레이어)으로 한다. 스텝 S204의 처리가 종료하면, 처리는 스텝 S202로 되돌아간다. 스텝 S202에 있어서, 인핸스먼트 레이어 화상 복호부(201-2)는, 복호 제어부(202)의 제어 하에 레이어 복호 처리를 행한다. 이와 같이, 스텝 S202 내지 스텝 S204의 처리가 반복하여 실행되고, 각 주 레이어가 부호화된다. 또한, 스텝 S202의 처리는, 참조 관계가 없는 복수의 레이어 화상 복호부(201)에 의해 병렬 처리되어도 된다.
그리고, 스텝 S203에 있어서, 모든 주 레이어가 처리되었다고 판정된 경우, 복호 처리가 종료한다.
<레이어 복호 처리의 흐름>
다음으로, 도 24의 흐름도를 참조하여, 도 23의 스텝 S202에 있어서 실행되는 레이어 복호 처리의 흐름의 예를 설명한다. 또한, 도 24의 예에 있어서는, 일례로서, 인핸스먼트 레이어 화상 복호부(201-2)의 예에 대하여 설명한다.
레이어 복호 처리가 개시되면, 스텝 S211에 있어서, 인핸스먼트 레이어 화상 복호부(201-2)의 축적 버퍼(211)는, 부호화측으로부터 전송된 인핸스먼트 레이어의 비트 스트림을 축적한다.
스텝 S212에 있어서, 가역 복호부(212)는, 축적 버퍼(211)로부터 공급되는 인핸스먼트 레이어의 비트 스트림(부호화된 차분 화상 정보)을 복호한다. 즉, 가역 부호화부(116)에 의해 부호화된 I 픽처, P 픽처와, B 픽처가 복호된다. 이때, 헤더 정보 등의 비트 스트림에 포함된 차분 화상 정보 이외의 각종 정보도 복호된다. 가역 복호부(212)로부터의 HRD 파라미터 타입을 나타내는 플래그 및 HRD 파라미터가, HRD 타입 복호부(224)에 공급된다.
스텝 S213에 있어서, HRD 타입 복호부(224)는, HRD 파라미터 복호 처리를 행한다. 이 HRD 파라미터 복호 처리는, 도 26을 참조하여 후술된다.
스텝 S213에 의해 HRD 파라미터가 복호되고, 복호된 HRD 파라미터에 기초하여, 축적 버퍼(211)가 오버플로우나 언더플로우가 발생하지 않도록 감시된다.
스텝 S214에 있어서, 역양자화부(213)는, 스텝 S212의 처리에 의해 얻어진, 양자화된 계수를 역양자화한다.
스텝 S215에 있어서, 역직교 변환부(214)는, 커런트 블록(커런트 TU)을 역직교 변환한다.
스텝 S216에 있어서, 인트라 예측부(221) 혹은 움직임 예측·보상부(222)는, 예측 처리를 행하고, 예측 화상을 생성한다. 즉, 가역 복호부(212)에 있어서 판정된, 부호화 시에 적용된 예측 모드에서 예측 처리가 행해진다. 보다 구체적으로는, 예를 들어 부호화 시에 인트라 예측이 적용된 경우, 인트라 예측부(221)가, 부호화 시에 최적으로 된 인트라 예측 모드에서 예측 화상을 생성한다. 또한, 예를 들어 부호화 시에 인터 예측이 적용된 경우, 움직임 예측·보상부(222)가, 부호화 시에 최적으로 된 인터 예측 모드에서 예측 화상을 생성한다.
스텝 S217에 있어서, 연산부(215)는, 스텝 S215의 역직교 변환 처리에 의해 생성된 차분 화상 정보에, 스텝 S216에 있어서 생성된 예측 화상을 가산한다. 이에 의해 원래의 화상이 복호된다.
스텝 S218에 있어서, 루프 필터(216)는, 스텝 S217에 있어서 얻어진 복호 화상에 대하여 루프 필터 처리를 적절히 행한다.
스텝 S219에 있어서, 화면 재배열 버퍼(217)는, 스텝 S218에 있어서 필터 처리된 화상의 재배열을 행한다. 즉 화면 재배열 버퍼(112)에 의해 부호화를 위해 재배열된 프레임의 순서가, 원래의 표시 순서로 재배열된다.
스텝 S220에 있어서, D/A 변환부(218)는, 스텝 S219에 있어서 프레임의 순서가 재배열된 화상을 D/A 변환한다. 이 화상이 도시를 생략한 디스플레이로 출력되고, 화상이 표시된다.
스텝 S221에 있어서, 프레임 메모리(219)는, 스텝 S218에 있어서 루프 필터 처리된 화상을 기억한다.
스텝 S221의 처리가 종료되면, 베이스 레이어 복호 처리가 종료되고, 처리는 도 23으로 되돌아간다.
<HRD 파라미터 복호 처리의 흐름>
다음으로, 도 25의 흐름도를 참조하여, 도 24의 스텝 S213에 있어서 실행되는 HRD 파라미터 복호 처리의 흐름의 예를 설명한다.
HRD 파라미터 타입 복호부(243)는, 스텝 S231에 있어서, 그 계층의 HRD 파라미터 타입을 나타내는 플래그를 수취한다. 그리고, HRD 파라미터 타입 복호부(243)는, 수취된 플래그 중, 예를 들어 실제의 스트림 레이어 구성에 대응하는 HRD 파라미터 타입을 나타내는 플래그를, 계층 HRD 파라미터 감시부(241)에 공급한다.
스텝 S232에 있어서, 계층 HRD 파라미터 감시부(241)는, 가역 복호부(212)로부터의 HRD 파라미터를 수취하고, HRD 파라미터 타입 복호부(243)로부터의 HRD 파라미터 타입을 나타내는 플래그에 대응하는 HRD 파라미터를 취득한다.
시간 HRD 파라미터 타입 복호부(244)는, 스텝 S233에 있어서, 가역 복호부(212)로부터의 HRD 파라미터 타입을 나타내는 플래그를 수취한다. 그리고, 시간 HRD 파라미터 타입 복호부(244)는, 수취한 플래그 중, 예를 들어 실제의 스트림 레이어 구성에 대응하는 서브 HRD 파라미터 타입을 나타내는 플래그를, 계층 HRD 파라미터 감시부(241)에 공급한다.
스텝 S234에 있어서, 시간 계층 HRD 파라미터 감시부(242)는, 가역 복호부(212)로부터의 시간 계층 HRD 파라미터를 수취하고, 시간 HRD 파라미터 타입 복호부(244)로부터의 서브 HRD 파라미터 타입 플래그에 대응하는 시간 계층 HRD 파라미터를 취득한다.
시간 계층 HRD 파라미터 감시부(242)는, 스텝 S235에 있어서, 모든 시간 계층에 대한 처리가 종료되었는지 여부를 판정한다. 스텝 S235에 있어서 모든 시간 계층에 대한 처리가 종료되지 않았다고 판정된 경우, 처리는 스텝 S233으로 되돌아가서, 그 이후의 처리가 반복된다.
스텝 S235에 있어서, 모든 시간 계층에 대한 처리가 종료되었다고 판정된 경우, 처리는 스텝 S236으로 진행된다. 스텝 S236에 있어서, 계층 HRD 파라미터 감시부(241) 및 시간 계층 HRD 파라미터 감시부(242)는, 다음에 설명하는 축적 버퍼 감시 처리를 행한다.
<축적 버퍼 감시 처리의 흐름>
다음으로, 도 26의 흐름도를 참조하여, 이 축적 버퍼 감시 처리에 대하여 설명한다. 또한, 이 축적 버퍼 감시 처리는, 본 기술의 HRD 파라미터 타입 플래그를 사용한 일례이며, 이 범주에 들어가지 않는다. 또한, 이 처리가 실행되는 타이밍도, 설명의 편의상 HRD 파라미터 복호 처리 내로 하였지만, 그것으로 한정되지 않으며, 예를 들어 도 24의 레이어 복호 처리 내라면 어느 타이밍이어도 된다.
스텝 S251에 있어서, 계층 HRD 파라미터 감시부(241)는, 스텝 S251에 있어서, 상기 계층의 HRD 파라미터 타입을 나타내는 플래그가 1인지 여부를 판정한다. 스텝 S251에 있어서, 상기 계층의 HRD 파라미터 타입을 나타내는 플래그가 1이라고 판정된 경우, 처리는 스텝 S252로 진행된다.
계층 HRD 파라미터 감시부(241)는, 스텝 S252에 있어서, 전체 축적 버퍼(232)의 상태를 나타내는 정보를 취득하고, 스텝 S253에 있어서, 취득한 정보를 이용하여, 상기 계층의 HRD 파라미터에 따라서, 그 계층의 전체 축적 버퍼(232)를 감시한다.
스텝 S251에 있어서, 그 계층의 HRD 파라미터 타입을 나타내는 플래그가 0이라고 판정된 경우, 처리는 스텝 S254로 진행된다.
계층 HRD 파라미터 감시부(241)는, 스텝 S254에 있어서, 전체 축적 버퍼(232)의 상태를 나타내는 정보를 취득하고, 스텝 S255에 있어서, 하위 계층의 전체 축적 버퍼(232)의 상태를 나타내는 정보를 취득한다.
그리고, 스텝 S256에 있어서, 계층 HRD 파라미터 감시부(241)는, 스텝 S254 및 S255에 의해 취득된 정보를 이용하여, 상기 계층의 HRD 파라미터에 따라서, 그 계층의 전체 축적 버퍼(232)를 감시한다.
시간 계층 HRD 파라미터 감시부(242)는, 스텝 S257에 있어서, 그 시간 계층의 HRD 파라미터 타입을 나타내는 플래그가 1인지 여부를 판정한다. 스텝 S257에 있어서, 상기 시간 계층의 HRD 파라미터 타입을 나타내는 플래그가 1이라고 판정된 경우, 처리는 스텝 S258로 진행된다.
스텝 S258에 있어서, 시간 계층 HRD 파라미터 감시부(242)는, 부분 축적 버퍼(231)가 대응하는 각 시간 계층의 축적 버퍼의 상태를 나타내는 정보를 취득한다.
스텝 S259에 있어서, 시간 계층 HRD 파라미터 감시부(242)는, 스텝 S258에 의해 취득한 정보를 이용하여, 각 시간 계층의 HRD 파라미터에 따라서, 부분 축적 버퍼(231)(의 각 버퍼)를 감시한다.
스텝 S257에 있어서, 상기 시간 계층의 HRD 파라미터 타입을 나타내는 플래그가 0이라고 판정된 경우, 처리는 스텝 S260으로 진행된다.
스텝 S260에 있어서, 시간 계층 HRD 파라미터 감시부(242)는, 전체 축적 버퍼(232)의 상태를 나타내는 정보를 취득한다.
스텝 S261에 있어서, 시간 계층 HRD 파라미터 감시부(242)는, 부분 축적 버퍼(231)가 대응하는 각 시간 계층의 축적 버퍼의 상태를 나타내는 정보를 취득한다.
스텝 S259에 있어서, 시간 계층 HRD 파라미터 감시부(242)는, 스텝 S260 및 S261에 의해 취득한 정보를 이용하여, 각 시간 계층의 HRD 파라미터에 따라서, 부분 축적 버퍼(231)(의 각 버퍼)를 감시한다.
이상과 같이, HRD 파라미터가, 상기 계층만의 복호를 행하기 위함인지, 상기 계층과 그 이하의 계층을 포함하는 복호 처리를 행하기 위함인지를 나타내는 것인지를 나타내는 플래그를 적어도 하나 설정하도록 하였으므로, 적절한 타이밍에 복호 처리를 행할 수 있다.
또한, 이 플래그는, SEI(Supplemental Enhancement Information)로서 복호측에 보내지도록 해도 된다.
또한, 여기서, 도 6을 참조하여 전술한 바와 같이, 복호 처리가 단일의 복호 장치에 의해 행해지는 것인지, 복수의 복호 장치에 의해 행해지는 것인지를 알 수 없었다. 따라서, 상기 설명에서는, HRD 파라미터가, 상기 계층에서만 복호 처리를 행하기 위한 파라미터인인지, 상기 계층 및 그 이하의 계층을 포함한 복호 처리를 행하기 위한 파라미터인지를 나타내는 정보를 설정하는 예를 설명해 왔다.
그러나, 현재의 HEVC에서는, 도 6에 도시된 ex11의 예(즉, 멀티레이어의 복호 처리가 단일의 복호 장치에 의해 행해지는 예)의 HRD 파라미터만이 서포트되고 있다. 즉, 현재의 HEVC에 있어서는, ex11의 예의 HRD 파라미터가 VPS(video parameter set)에 설정되어 복호측으로 전송되고 있다.
따라서, 본 기술에 있어서는, 제3 실시 형태로서, 스케일러블 HEVC에 있어서, 도 6에 도시된 ex12의 예(즉, 멀티레이어의 복호 처리가 복수의 복호 장치에 의해 행해지는 예)의 HRD 파라미터를, vps_extension에 의해 복호측으로 보낼 것을 제안한다.
<3. 제3 실시 형태>
<vps_extension의 신택스의 예>
도 27은, vps_extension의 신택스의 예를 나타내는 도면이다. 또한, 도 27의 예에 있어서, i는 layer_set의 수를 나타내고 있으며, j는, 레이어 id의 수를 나타내고 있다. 또한, j=1로부터 개시되어 있는 것은, j=0이, 베이스 레이어밖에 존재하지 않음을 나타내고 있으며, 이 경우, ex11 및 ex12의 처리 방법의 차이는 없고, 어느 쪽이라도 동일하기 때문이다.
도 27의 예에 있어서는, layer_id_included_flag[i][j]마다 layer_set_hrd_layer_info_present_flag[i][j]가 설정되어 있다. layer_set_hrd_layer_info_present_flag[i][j]가 1인 경우, ex12의 예에 상당하는 HRD 파라미터가 (vps_extension에) 존재하는 것을 나타내고 있으며, 그 경우, 다음의 행 이후에, ex12의 예에 상당하는 HRD 파라미터가 정의된다.
또한, 다음의 도 28에 도시된 바와 같이, ex12의 예에 상당하는 HRD 파라미터는, sps(sequence parameter set)_extension으로 설정되어도 된다.
<sps_extension의 신택스의 예>
도 28은, sps_extension의 신택스의 예를 나타내는 도면이다.
도 28의 예에 있어서는, layer_set_hrd_layer_info_present_flag가 설정되어 있다. 이 플래그가 1인 경우, ex12의 예에 상당하는 HRD 파라미터가 (sps_extension에) 존재하는 것을 나타내고 있으며, 그 경우, 다음 행에 ex12의 예에 상당하는 HRD 파라미터가 정의된다.
또한, 도 27 및 도 28의 예에 있어서, HRD 파라미터는, layer_set마다 정의되어 있다. layer_set는, 도 29에 도시된 바와 같이, VPS에서 설정되어 있다.
<VPS의 신택스의 예>
도 29는, VPS의 신택스의 예를 나타내는 도면이다. 각 행의 좌측 단부의 숫자는 설명을 위해 붙인 행 번호이다.
도 29의 제16행째에 있어서, vps_num_layer_sets_minus1로서, layer_set의 수가 설정되어 있다.
제17행째 내지 제19행째에 있어서, layer_id_included_flag[i][j]로서, [i]의 layer_set에 id[j]의 레이어가 포함되어 있는지가 도시되어 있다. 또한, layer_id_included_flag[i][j]에 대해서는, 도 30에 도시한 시맨택스에 상세히 후술되어 있다.
제27행째에 있어서는, vps_num_hrd_parameters로서, vps에 있어서의 hrd 파라미터의 수가 설정되어 있다. 제29행째에 있어서는, hrd_layer_set_idx[i]로서, 여기서, hrd_parameters와, layer_set와의 대응짓기가 이루어져 있다. 제32행째에 있어서는, 전술한 바와 같이 ex11의 예의 HRD 파라미터가 기술되어 있다.
제35행째에, vps_extension의 유무를 나타내는 vps_extension_flag가 기술되어 있다.
<layer_id_included_flag[i][j]의 시맨택스의 예>
도 30은, layer_id_included_flag[i][j]의 시맨택스의 예를 나타내고 있다.
Figure 112015057943435-pct00003
Figure 112015057943435-pct00004
Figure 112015057943435-pct00005
특히, 도면 중, 프레임으로 둘러싸인 부분에는, layer_set는, 동일한 레이어의 식별자 리스트에 의해 관련지어진 모든 오퍼레이션 포인트로 이루어지는 것, 및 비트 스트림 중, 뽑아낼 수 있는 일부가, OplayerIdList에 의해 식별되는 오퍼레이션 포인트에 관련지어져 있는 것이 기술되어 있다.
구체적으로는, layer_set는, 예를 들어 도 31에 도시된 바와 같이 설정된다.
예를 들어, LayerSet[1]에는, 레이어 0, 1, 2가 포함되어 있으며, LayerSet[2]에는, 레이어 0, 2가 포함되어 있는 경우, layer_id_included_flag는, 다음과 같이 설정된다.
layer_id_included_flag[1][0]=1로 설정되고, LayerSet[1]에 레이어 0이 포함되는 것이 도시된다. 또한, layer_id_included_flag[1][1]=1로 설정되고, LayerSet[1]에 레이어 1이 포함되는 것, layer_id_included_flag[1][2]=1로 설정되고, LayerSet[1]에 레이어 2에 포함되는 것이 도시된다.
layer_id_included_flag[2][0]=1로 설정되고, LayerSet[2]에 레이어 0이 포함되는 것이 도시된다. 또한, layer_id_included_flag[2][1]=0으로 설정되고, LayerSet[2]에 레이어 1이 포함되지 않는 것, layer_id_included_flag[2][2]=1로 설정되고, LayerSet[2]에 레이어 2에 포함되는 것이 도시된다.
이상과 같이, 도 6의 ex11의 예에 상당하는 HRD 파라미터가 존재하는 것을 나타내는 플래그와, ex11의 예에 상당하는 HRD 파라미터가 vps에 의해 복호측으로 보내진다. 이에 반하여, 도 6의 ex12의 예에 상당하는 HRD 파라미터가 존재하는 것을 나타내는 플래그와, ex12의 예에 상당하는 HRD 파라미터를 vps_extension에 의해 복호측으로 보내도록 하였다. 이에 의해, 복호측에 있어서는, 적절한 타이밍에 복호 처리를 행할 수 있다.
또한, 이 ex12의 예에 상당하는 HRD 파라미터가 존재하는 것을 나타내는 플래그도, SEI 메시지로서 복호측으로 보내지도록 해도 된다.
<4. 제4 실시 형태>
<버퍼의 스케줄 관리 방법의 다른 예>
그런데, 버퍼의 오버플로우나 언더플로우를 회피하기 위해서, 이하의 어느 한 방법이 버퍼의 스케줄 관리에 적용될 필요가 있다.
제1 방법은, 제1 내지 제3 실시 형태에 있어서 전술한 HRD 파라미터 신택스에서 전송되는 파라미터에 의한 방법이다.
제2 방법은, buffering_period_SEI 및 picture_timing_SEI에 의한 방법이다.
제3 방법은, 시스템층에 있어서의 time stamp(예를 들어, PTS, DTS) 등, 비디오층보다 상위 계층에서 전송되고 있는 파라미터에 의한 방법이다.
이들 방법 중, 제2 방법의 buffering_period_SEI를 사용하는 방법에 대하여, 이하에 설명한다.
<buffering_period_SEI의 신택스>
도 32는, buffering_period_SEI의 신택스의 예를 나타내는 도면이다. 각 행의 좌측 단부의 숫자는 설명을 위해서 붙인 행 번호이다.
도 32의 제2행째에 있어서, bp_seq_parameter_set_id로서, buffering_period의 파라미터가 설정되어 있으며, SPS와 관련짓는 것이 가능하다.
또한, 그 이후의 행에 있어서는, 아래 계층으로부터의 축적에 의한 축적 버퍼의 스케줄 관리의 파라미터가 설정되어 있다.
그런데, 도 6을 참조하여 전술한 바와 같이, 그 화상 압축 정보 혹은 그 서브 화상 압축 정보에 있어서의, hdr_parameters()에 의한 버퍼 관리를 위한 파라미터로서, 참조하는 계층을 포함하고, 단일의 복호 장치에 의해 복호 처리를 행하는 ex11의 케이스 외에, 각각의 계층을 따로따로 복호 장치에 의해 복호 처리를 행하는 ex12의 케이스를 위한 것을 정의할 수 있도록 하는 것이 제안되어 있다.
전술한 제1 방법의 hdr_parameters()는, VPS 혹은 SPS에 관련하여 전송하는 것이 가능하며, 전자의 경우에는, 단일 레이어(계층)뿐만 아니라, VPS에 관련지어진 레이어 세트(이하, '계층 세트'라고도 함)에 대하여, hdr_parameters()를 전송하는 것이 가능하다.
그러나, 도 32에 도시된 buffering_period_SEI에 대해서는, SPS에 대해서만 관련지을 수밖에 없다. 따라서, VPS에서의 hdr_parameters()와 같이, 복수의 계층 세트에 대하여 관련하는 파라미터를 전송하는 것이 곤란하였다.
따라서, 본 기술에 있어서는, 도 33 내지 도 35에 도시된 신택스에 의해, buffering_period_SEI에 의한 축적 버퍼의 스케줄 관리를 행한다.
본 기술에 의한 buffering_period_SEI는, 이하의 점이, 도 32에 도시된 buffering_period_SEI와 상이하다.
즉, 제1 차이는, 본 기술에 의한 buffering_period_SEI에 있어서는, SPS뿐만 아니라, VPS에도 관련짓는 것이 가능한 점에 있다. 제2 차이는, VPS에 의해 관련지어진 경우에는, VPS에서 정의되어 있는 계층 세트마다 파라미터를 설정하는 것이 가능한 점에 있다. 제3 차이는, 도 6에 도시된 바와 같이, 계층 세트에 포함되어 있는 모든 계층을 단일의 복호 장치로 복호하는 경우의 파라미터와, 각각의 계층을 각각의 복호 장치로 복호하는 경우의 파라미터를 설정하는 것이 가능한 점에 있다.
도 33 내지 도 35는, buffering_period_SEI의 신택스의 예를 나타내는 도면이다. 각 행의 좌측 단부 숫자는 설명을 위해 붙인 행 번호이다.
도 33의 예에 있어서 제2행째에는 associated_parameter_set_flag가 설정되어 있다. 이 associated_parameter_set_flag는, 상기 buffering_period_SEI가 VPS 및 SPS의 어느 쪽에 관련지어져 있는지를 지정하는 플래그이다. associated_parameter_set_flag가 0인 경우, VPS에 의해 관련지어지는 것을 나타내고, associated_parameter_set_flag가 1인 경우, SPS에 의해 관련지어지는 것을 나타내고 있다.
제3행째 내지 제11행째는, associated_parameter_set_flag가 0(VPS)인 경우의 파라미터가 기술되어 있다. 제4행째의 bp_video_parameter_set_id는, 어느 VPS와 대응하고 있는지를 나타내고, 제5행째의 vps_num_bp_parameters는, bp_parameter를 몇개 보내는지를 나타내고 있다.
제7행째의 bp_layer_set_idx는, 각 bp_parameter가 어느 레이어 세트에 대응하고 있는지를 나타내고, 제10행째의 layer_buffering_period에 의해, 도 34 및 도 35의 layer_buffering_period의 신택스가 판독된다.
제12행째 내지 제15행째는, else에 도시된 바와 같이, associated_parameter_set_flag가 1(SPS)인 경우의 파라미터가 기술되어 있다.
제13행째의 bp_seq_parameter_set_id는, 어느 SPS와 대응하고 있는지를 나타내고, 제14행째의 layer_buffering_period에서, 도 34 및 도 35의 layer_buffering_period의 신택스가 판독된다.
즉, 도 33의 신택스에 의하면, VPS의 경우, 계층 세트의 수만큼, 도 34의 신택스가 판독되고, SPS의 경우, 한번만 도 34 및 도 35의 신택스가 판독된다.
이상과 같이, associated_parameter_set_flag가 0(VPS)인 경우, VPS에서 지정된 계층 세트에 대하여, 버퍼 관리를 위한 파라미터를, 도 34 및 도 35의 layer_buffering_period_SEI 신택스에 의해 전송하는 것이 가능하다.
도 34 및 도 35의 NAL 및 VCL에 관한 파라미터의 전송에 있어서, 제18행째와 제38행째에 도시된 바와 같이, 상기 계층만의 파라미터를 전송할지 여부를 나타내는 플래그인 layer_specific_parameters_present_flag가 설정되어 있다. 이 플래그가 1인 경우, 제19행째 내지 제27행째 및 제39행째 내지 제47행째에 기술되는, 상기 계층만의 파라미터를 전송하는 것을 나타내고 있다. 즉, layer_specific_parameters_present_flag가 1일 때, 도 6의 ex11 외에, ex12와 같이 복호 처리가 행해지기 위한 파라미터의 전송을 행하는 것이 가능하다.
또한, 도 34 및 도 35의 예에 있어서 전술한 이외에는, 도 32를 참조하여 전술한 buffering_period_SEI와 기본적으로 마찬가지이며, 그들 이외의 행에 있어서는, 아래에서부터의 계층의 축적에 의한 축적 버퍼의 스케줄 관리의 파라미터가 설정되어 있다.
이상에 의해, buffering_period_SEI에 의한 축적 버퍼의 스케줄 관리를 행할 때, 단일 계층뿐만 아니라, 계층 세트의 관리를 행하는 것이 가능해진다. 또한, 계층 세트에 포함되는 모든 계층을 단일의 복호 장치로 복호하는 경우와, 각각의 계층을 각각의 복호 장치로 복호하는 경우의 양쪽의 스케줄 관리를 행하는 것이 가능해진다.
<스케일러블 부호화 장치>
buffering_period_SEI의 경우의 스케일러블 부호화 장치의 구성은, 기본적으로 HRD 파라미터의 경우와 마찬가지이다. 따라서, 전술한 도 10을 참조하여, buffering_period_SEI의 경우의 스케일러블 부호화 장치의 구성예에 대하여 설명한다.
즉, 베이스 레이어 화상 부호화부(101-1)는, HRD 파라미터의 경우와 마찬가지로, 베이스 레이어의 화상 정보(베이스 레이어 화상 정보)를 취득한다. 베이스 레이어 화상 부호화부(101-1)는, 다른 레이어를 참조하지 않고, 그 베이스 레이어 화상 정보를 부호화하여, 베이스 레이어의 부호화 데이터(베이스 레이어 부호화 데이터)를 생성하고, 출력한다.
인핸스먼트 레이어 화상 부호화부(101-2)는, HRD 파라미터의 경우와 마찬가지로, 인핸스먼트 레이어의 화상 정보(인핸스먼트 레이어 화상 정보)를 취득한다. 인핸스먼트 레이어 화상 부호화부(101-2)는, 그 인핸스먼트 레이어 화상 정보를 부호화한다. 그 때, 인핸스먼트 레이어 화상 부호화부(101-2)는, 필요에 따라서, 베이스 레이어의 부호화에 관한 정보를 참조하여 레이어 간 예측을 행한다.
또한, 인핸스먼트 레이어 화상 부호화부(101-2)에는, 필요에 따라서, 베이스 레이어 화상 부호화부(101-1)로부터 버퍼 관리 정보가 공급된다. 인핸스먼트 레이어 화상 부호화부(101-2)는, HRD 파라미터의 경우와 달리, 관련하는 파라미터 세트를 지정하고, 지정된 파라미터 세트에 따라서, 계층 세트마다의 파라미터 또는 시퀀스에 관한 파라미터를 지정한다. 그리고, 인핸스먼트 레이어 화상 부호화부(101-2)는, 베이스 레이어 화상 부호화부(101-1)로부터의 버퍼 관리 정보를 참조하여, 지정된 파라미터를 설정한다.
또한, 인핸스먼트 레이어 화상 부호화부(101-2)는, HRD 파라미터의 경우와 달리, layer_specific_parameters_present_flag를 설정하고, layer_specific_parameters_present_flag의 값에 따라서, 계층마다의 파라미터를 설정한다. 그리고, 인핸스먼트 레이어 화상 부호화부(101-2)는, 이들 설정된 파라미터로 이루어지는 buffering_period_SEI 및 layer_buffering_period_SEI를 부호화하여, 부호화된 정보를 가역 부호화부(301)에 공급한다.
인핸스먼트 레이어 화상 부호화부(101-2)는, 이와 같은 부호화에 의해, 인핸스먼트 레이어의 부호화 데이터(인핸스먼트 레이어 부호화 데이터)를 생성하여, 출력한다.
부호화 제어부(102)는, HRD 파라미터의 경우와 마찬가지로, 각 레이어 화상 부호화부(101)의 참조 관계 등을 고려하여, 각 레이어 화상 부호화부(101)의 부호화 처리의 제어를 행한다.
<레이어 화상 부호화부의 구성예>
도 36은, buffering_period_SEI의 경우의 인핸스먼트 레이어 화상 부호화부(101-2)의 주된 구성예를 나타내는 블록도이다.
또한, buffering_period_SEI의 경우의 베이스 레이어 화상 부호화부(101-1)도, 대상이 되는 화상의 종류가 서로 다를 뿐이며, 도 36의 인핸스먼트 레이어 화상 부호화부(101-2)와 기본적으로 마찬가지의 구성을 하고 있다. 도 36의 예에 있어서는, 설명의 편의상 인핸스먼트 레이어 화상 부호화부(101-2)의 구성을 예로 들어 설명한다.
도 36의 인핸스먼트 레이어 화상 부호화부(101-2)는, 가역 부호화부(116)가 가역 부호화부(301)로 교체된 점과, HRD 타입 설정부(128)가 제외된 점과, 버퍼링 피리어드 SEI 설정부(302)가 추가된 점이, 도 11의 인핸스먼트 레이어 화상 부호화부(101-2)와 서로 다르다.
즉, 도 36의 인핸스먼트 레이어 화상 부호화부(101-2)는, A/D 변환부(111), 화면 재배열 버퍼(112), 연산부(113), 직교 변환부(114), 양자화부(115), 가역 부호화부(301), 축적 버퍼(117), 역양자화부(118) 및 역직교 변환부(119)를 갖는다. 또한, 인핸스먼트 레이어 화상 부호화부(101-2)는, 연산부(120), 루프 필터(121), 프레임 메모리(122), 선택부(123), 인트라 예측부(124), 움직임 예측·보상부(125), 예측 화상 선택부(126) 및 레이트 제어부(127)를 갖는다. 또한, 인핸스먼트 레이어 화상 부호화부(101-2)는, 버퍼링 피리어드 SEI 설정부(302)를 갖는다.
가역 부호화부(301)는, 도 11의 가역 부호화부(116)와 마찬가지로, 양자화부(115)에 있어서 양자화된 변환 계수를 임의의 부호화 방식으로 부호화한다. 계수 데이터는, 레이트 제어부(127)의 제어 하에서 양자화되어 있으므로, 이 부호량은, 레이트 제어부(127)가 설정한 목표값으로 된다(또는 목표값에 근사함).
또한, 가역 부호화부(301)는, 가역 부호화부(116)와 마찬가지로, 인트라 예측의 모드를 나타내는 정보 등을 인트라 예측부(124)로부터 취득하고, 인터 예측의 모드를 나타내는 정보나 차분 움직임 벡터 정보 등을 움직임 예측·보상부(125)로부터 취득한다.
또한, 가역 부호화부(301)는, 가역 부호화부(116)와 달리, 버퍼링 피리어드 SEI 설정부(302)로부터 buffering_period_SEI 외에, layer_buffering_period_SEI의 부호화 정보(신택스)를 취득한다.
그리고, 가역 부호화부(301)는, 그들을, 가역 부호화부(116)와 마찬가지로, 시퀀스 파라미터 세트(SPS) 및 픽처 파라미터 세트(PPS) 등을 포함하는 인핸스먼트 레이어의 NAL 유닛을 적절히 생성한다. 가역 부호화부(301)는, 가역 부호화부(116)와 마찬가지로, 이들 각종 정보를 임의의 부호화 방식으로 부호화하고, 부호화 데이터('부호화 스트림'이라고도 칭함)의 일부로 한다(다중화함). 가역 부호화부(301)는, 부호화하여 얻어진 부호화 데이터를 축적 버퍼(117)에 공급하여 축적시킨다.
또한, 가역 부호화부(301)는, 가역 부호화부(116)와 달리, 예를 들어 점선으로 나타낸 바와 같이, 상위 계층의 인핸스먼트 레이어 화상 부호화부(101-3)가 존재하고, 그 버퍼링 피리어드 SEI 설정부(302)로부터 요구가 있는 경우에, 축적 버퍼(117)의 관리 정보를, 상위 계층의 인핸스먼트 레이어 화상 부호화부(101-3)에 공급한다.
축적 버퍼(117)는, 가역 부호화부(301)로부터 공급된 부호화 데이터(인핸스먼트 레이어 부호화 데이터)를 일시적으로 유지한다. 축적 버퍼(117)는, 소정의 타이밍에 있어서, 유지하고 있는 인핸스먼트 레이어 부호화 데이터를, 예를 들어 후단의 도시를 생략한 기록 장치(기록 매체)나 전송로 등으로 출력한다. 즉, 축적 버퍼(117)는, 부호화 데이터를 전송하는 전송부이기도 하다.
버퍼링 피리어드 SEI 설정부(302)는, 관련하는 파라미터 세트를 지정하고, 지정된 파라미터 세트에 따라서, 계층 세트마다의 파라미터 또는 시퀀스에 대한 파라미터를 지정한다. 그리고, 버퍼링 피리어드 SEI 설정부(302)는, 베이스 레이어 화상 부호화부(101-1)의 가역 부호화부(301)(하위 계층)로부터의 버퍼 관리 정보를 참조하여, 지정된 파라미터를 설정한다. 예를 들어, 이 파라미터는, 아래 계층으로부터의 축적 파라미터이다. 또한, 버퍼링 피리어드 SEI 설정부(302)는, layer_specific_parameters_present_flag를 설정하고, 설정된 layer_specific_parameters_present_flag의 값에 따라서, 계층마다의 파라미터를 설정한다.
버퍼링 피리어드 SEI 설정부(302)는, 이상과 같이 하여 설정된 파라미터로 이루어지는 buffering_period_SEI 및 layer_buffering_period_SEI를 부호화하여, 가역 부호화부(301)에 공급한다.
<버퍼링 피리어드 SEI 설정부의 구성예>
도 37은, 도 36의 버퍼링 피리어드 SEI 설정부의 구성예를 나타내는 블록도이다.
도 37의 예에 있어서는, 버퍼링 피리어드 SEI 설정부(302)는, 관련 파라미터 세트 설정부(311), 계층 세트 버퍼(312), 레이어 버퍼링 피리어드 SEI 설정부(313), 및 계층마다 파라미터 전송 지정부(314)를 포함하게 구성되어 있다.
관련 파라미터 세트 설정부(311)는, 유저의 조작에 대응하여, associsted_parameter_set_flag에 관한 지정을 행한다. 즉, 유저에 의해, buffering_period_SEI가 VPS에 관련지어지는 것(플래그=0)인지, SPS에 관련지어지는 것(플래그=1)인지가 지시된다. 관련 파라미터 세트 설정부(311)는, associsted_parameter_set_flag의 값을 지정하고, 지정된 값을, 가역 부호화부(301)에 공급함과 함께, 레이어 버퍼링 피리어드 SEI 설정부(313)에도 공급한다.
associsted_parameter_set_flag=0의 경우, 즉, buffering_period_SEI가 VPS에 관련지어지는 경우, 인핸스먼트 레이어 화상 압축 정보의 VPS에 저장되어 있는 계층 세트에 관한 정보가, 가역 부호화부(301)보다 계층 세트 버퍼(312)에 공급되어 축적된다. 계층 세트 버퍼(312)는, 계층 세트에 관한 정보를 축적하고, 소정의 타이밍에, 레이어 버퍼링 피리어드 SEI 설정부(313)에 공급한다.
또한, 베이스 레이어 화상 부호화부(101-1)의 가역 부호화부(301)로부터, 베이스 레이어에 있어서의 버퍼 관리 정보가 레이어 버퍼링 피리어드 SEI 설정부(313)에 공급된다.
계층마다 파라미터 전송 지정부(314)는, 유저 조작에 대응하여, layer_specific_parameters_present_flag의 지정을 행한다. 즉, 유저에 의해, 계층마다의 파라미터 설정을 행하는 것인지 여부를 나타내는 layer_specific_parameters_present_flag의 값이 지시된다. 계층마다 파라미터 전송 지정부(314)는, layer_specific_parameters_present_flag의 값을 지정하고, 지정된 값을, 가역 부호화부(301)에 공급함과 함께, 레이어 버퍼링 피리어드 SEI 설정부(313)에도 공급한다.
레이어 버퍼링 피리어드 SEI 설정부(313)는, buffering_period_SEI 및 layer_buffering_period_SEI의 부호화 처리를 행하고, 그들 부호화 정보를, 가역 부호화부(301)에 공급한다.
구체적으로는, 레이어 버퍼링 피리어드 SEI 설정부(313)는, 관련 파라미터 세트 설정부(311)로부터의 associsted_parameter_set_flag에 따라서, 베이스 레이어 화상 부호화부(101-1)의 가역 부호화부(301)(하위 계층)로부터의 버퍼 관리 정보를 참조하고, 지정된 파라미터를 설정한다. 즉, 레이어 버퍼링 피리어드 SEI 설정부(313)는, associsted_parameter_set_flag의 값이 1(=VPS)인 경우, 계층 세트 버퍼(312)로부터의 계층 세트에 관한 정보에 기초하여, 계층 세트마다 파라미터를 설정한다. 또한, 레이어 버퍼링 피리어드 SEI 설정부(313)는, associsted_parameter_set_flag의 값이 0(=SPS)인 경우, 시퀀스에 대한 파라미터를 설정한다.
또한, 레이어 버퍼링 피리어드 SEI 설정부(313)는, layer_specific_parameters_present_flag의 값에 따라서, 즉, layer_specific_parameters_present_flag의 값이 1인 경우, 계층마다의 파라미터를 설정한다. 그리고, 레이어 버퍼링 피리어드 SEI 설정부(313)는, 설정된 파라미터 등으로 이루어지는 buffering_period_SEI 및 layer_buffering_period_SEI를 부호화하고, 가역 부호화부(301)에 공급한다.
<부호화 처리의 흐름>
다음으로, buffering_period_SEI의 경우의 스케일러블 부호화 장치(100)에 의해 실행되는 각 처리의 흐름에 대하여 설명한다. 또한, 부호화 처리의 흐름은, 도 14를 참조하여 전술한 부호화 처리의 흐름과 기본적으로 마찬가지이므로, 그 설명은 생략된다.
<레이어 부호화 처리의 흐름>
다음으로, 도 38의 흐름도를 참조하여, 도 14의 스텝 S102에 있어서의 레이어 부호화 처리에 대하여 설명한다. 또한, 도 38의 스텝 S311 내지 S323, S326 및 S327은, 도 15의 스텝 S111 내지 S123, S126 및 S127과 기본적으로 거의 마찬가지의 처리를 행하므로, 그 설명은 생략된다.
즉, 버퍼링 피리어드 SEI 설정부(302)는, 스텝 S324에 있어서, 버퍼링 피리어드 SEI 부호화 처리를 행한다. 이 버퍼링 피리어드 SEI 부호화 처리에 대해서는, 도 39를 참조하여 후술하지만, 이 처리에 의해, 각 파라미터가 설정되고, 설정된 파라미터로 이루어지는 buffering_period_SEI 및 layer_buffering_period_SEI의 정보가 부호화되어, 가역 부호화부(301)에 공급된다.
스텝 S325에 있어서, 가역 부호화부(301)는, 스텝 S318의 처리에 의해 양자화된 계수를 부호화한다. 즉, 차분 화상에 대응하는 데이터에 대하여 가변 길이 부호화나 산술 부호화 등의 가역 부호화가 행해진다.
또한, 이때, 가역 부호화부(301)는, 스텝 S315의 처리에 의해 선택된 예측 화상의 예측 모드에 관한 정보를 부호화하고, 차분 화상을 부호화하여 얻어지는 부호화 데이터에 부가한다. 즉, 가역 부호화부(301)는, 인트라 예측부(124)로부터 공급되는 최적 인트라 예측 모드 정보 또는, 움직임 예측·보상부(125)로부터 공급되는 최적 인터 예측 모드에 따른 정보 등도 부호화하여, 부호화 데이터에 부가한다. 또한, 가역 부호화부(301)는, 스텝 S324의 처리에 의해 공급된 buffering_period_SEI 및 layer_buffering_period_SEI의 부호화 정보(신택스) 등도 소정의 부호화 방식으로 부호화하여, 부호화 데이터에 부가한다.
<버퍼링 피리어드 SEI 설정 처리의 흐름>
다음으로, 도 39의 흐름도를 참조하여, 도 38의 스텝 S324의 버퍼링 피리어드 SEI 부호화 처리에 대하여 설명한다.
예를 들어, 계층 세트 버퍼(312)는, 계층 세트에 관한 정보를 축적하고, 소정의 타이밍에, 레이어 버퍼링 피리어드 SEI 설정부(313)에 공급하고 있다.
스텝 S331에 있어서, 관련 파라미터 세트 설정부(311)는, 유저의 조작에 대응하여, 관련하는 파라미터 세트를 지정한다. 즉, 유저에 의해, buffering_period_SEI가 VPS에 관련지어지는 것(플래그=0)인지, SPS에 관련지어지는 것(플래그=1)인지가 지정된다.
스텝 S332에 있어서, 관련 파라미터 세트 설정부(311)는, 관련하는 파라미터 세트가 VPS인지 여부를 판정한다. 스텝 S332에 있어서, VPS라고 판정된 경우, 처리는 스텝 S333으로 진행된다.
스텝 S333에 있어서, 관련 파라미터 세트 설정부(311)는, 계층 세트마다 파라미터를 지정한다. 즉, 관련 파라미터 세트 설정부(311)는, associsted_parameter_set_flag의 값(플래그=0)을 지정하고, 지정된 값을, 가역 부호화부(301)에 공급함과 함께, 레이어 버퍼링 피리어드 SEI 설정부(313)에도 공급한다.
이때, 가역 부호화부(301)에 의해, 인핸스먼트 레이어 화상 압축 정보의 VPS에 저장되어 있는 계층 세트에 관한 정보가, 계층 세트 버퍼(312)에 공급되어 축적된다. 그리고, 레이어 버퍼링 피리어드 SEI 설정부(313)는, 베이스 레이어 화상 부호화부(101-1)의 가역 부호화부(301)(하위 계층)로부터의 버퍼 관리 정보를 참조하고, 계층 세트 버퍼(312)로부터의 계층 세트에 관한 정보에 기초하여, 계층 세트마다 파라미터를 설정한다.
한편, 스텝 S332에 있어서 VPS가 아니라고 판정된 경우, 처리는 스텝 S334로 진행된다.
스텝 S334에 있어서, 관련 파라미터 세트 설정부(311)는, 시퀀스에 대하여 파라미터를 지정한다. 즉, 관련 파라미터 세트 설정부(311)는, associsted_parameter_set_flag의 값(플래그=1)을 지정하고, 지정된 값을, 가역 부호화부(301)에 공급함과 함께, 레이어 버퍼링 피리어드 SEI 설정부(313)에도 공급한다.
레이어 버퍼링 피리어드 SEI 설정부(313)는, 베이스 레이어 화상 부호화부(101-1)의 가역 부호화부(301)(하위 계층)로부터의 버퍼 관리 정보를 참조하고, 시퀀스에 대하여 파라미터를 설정한다.
스텝 S335에 있어서, 계층마다 파라미터 전송 지정부(314)는, 유저 조작에 대응하고, layer_specific_parameters_present_flag의 설정을 행한다. 즉, 유저에 의해, 계층마다의 파라미터 설정을 행하는 것인지 여부를 나타내는 layer_specific_parameters_present_flag의 값이 지정된다.
계층마다 파라미터 전송 지정부(314)는, 설정된 layer_specific_parameters_present_flag의 값을, 가역 부호화부(301)에 공급함과 함께, 레이어 버퍼링 피리어드 SEI 설정부(313)에도 공급한다.
레이어 버퍼링 피리어드 SEI 설정부(313)는, 스텝 S336에 있어서, layer_specific_parameters_present_flag의 값이 1인지 여부를 판정한다. 스텝 S336에 있어서, layer_specific_parameters_present_flag의 값이 1이라고 판정된 경우, 처리는 스텝 S337로 진행된다.
스텝 S337에 있어서, 레이어 버퍼링 피리어드 SEI 설정부(313)는, 계층마다의 파라미터를 설정한다.
또한, 스텝 S336에 있어서, layer_specific_parameters_present_flag의 값이 0이라고 판정된 경우, 스텝 S337의 처리는 스킵된다.
스텝 S338에 있어서, 레이어 버퍼링 피리어드 SEI 설정부(313)는, 전술한 바와 같이 하여 설정된 파라미터로 이루어지는 buffering_period_SEI 및 layer_buffering_period_SEI를 부호화하여, 가역 부호화부(301)에 공급한다.
이상과 같이, SPS뿐만 아니라, VPS에도 관련하도록 하였으므로, buffering_period_SEI에 의한 축적 버퍼의 스케줄 관리를 행할 때, 단일 계층뿐만 아니라, 계층 세트의 관리를 행하는 것이 가능해진다.
또한, 레이어(계층)마다의 파라미터를 보낼 수 있도록 하였으므로, 계층 세트에 포함되는 모든 계층을 단일인 복호 장치로 복호하는 경우와, 각각의 계층을 따로따로 복호 장치로 복호하는 경우의 양쪽 스케줄 관리를 행하는 것이 가능해진다.
<스케일러블 복호 장치>
buffering_period_SEI의 경우의 스케일러블 복호 장치의 구성은, 기본적으로 HRD 파라미터의 경우와 마찬가지이다. 따라서, 전술한 도 20을 참조하여, buffering_period_SEI의 경우의 스케일러블 복호 장치의 구성예에 대하여 설명한다.
즉, 베이스 레이어 화상 복호부(201-1)는, 도 10의 베이스 레이어 화상 부호화부(101-1)에 대응하는 화상 복호부이며, HRD 파라미터의 경우와 마찬가지로, 예를 들어 베이스 레이어 화상 부호화부(101-1)에 의해 베이스 레이어 화상 정보가 부호화되어 얻어진 베이스 레이어 부호화 데이터를 취득한다. 베이스 레이어 화상 복호부(201-1)는, 다른 레이어를 참조하지 않고, 그 베이스 레이어 부호화 데이터를 복호하고, 베이스 레이어 화상 정보를 재구축하여, 출력한다.
인핸스먼트 레이어 화상 복호부(201-2)는, 인핸스먼트 레이어 화상 부호화부(101-2)에 대응하는 화상 복호부이며, HRD 파라미터의 경우와 마찬가지로, 예를 들어 인핸스먼트 레이어 화상 부호화부(101-2)에 의해 인핸스먼트 레이어 화상 정보가 부호화되어 얻어진 인핸스먼트 레이어 부호화 데이터를 취득한다. 인핸스먼트 레이어 화상 복호부(201-2)는, 그 인핸스먼트 레이어 부호화 데이터를 복호한다. 그 때, 인핸스먼트 레이어 화상 복호부(201-2)는, 필요에 따라서, 베이스 레이어의 복호에 관한 정보를 참조하여 레이어 간 예측을 행한다.
또한, 각 부호화 데이터(비트 스트림)에는, HRD 파라미터의 경우와 달리, 도 33의 buffering_period_SEI와, 도 34 및 도 35의 layer_buffering_period_SEI가 부가되어 송신되어 온다. 인핸스먼트 레이어 화상 복호부(201-2)는, HRD 파라미터의 경우와 달리, buffering_period_SEI로부터, 관련하는 파라미터 세트에 관한 정보를 취득하고, 취득된 정보가 나타내는 파라미터 세트에 따라서, 계층 세트마다의 파라미터 또는 시퀀스에 대한 파라미터를 복호한다.
또한, 인핸스먼트 레이어 화상 복호부(201-2)는, HRD 파라미터의 경우와 달리, layer_buffering_period_SEI로부터 layer_specific_parameters_present_flag를 수신하고, layer_specific_parameters_present_flag의 값에 따라서, 계층마다의 파라미터를 복호한다. 그리고, 인핸스먼트 레이어 화상 복호부(201-2)는, 복호한 이들 파라미터에 기초하여, 축적 버퍼의 감시를 행한다.
또한, 계층마다의 파라미터가 아닌, 즉, 아래 계층으로부터 축적한 파라미터의 경우, 인핸스먼트 레이어 화상 복호부(201-2)는, 베이스 레이어 화상 복호부(201-1)의 가역 복호부(351)로부터의 버퍼 관리 정보를 참조하여, 축적 버퍼의 감시를 행한다.
인핸스먼트 레이어 화상 복호부(201-2)는, 이와 같은 복호에 의해, 인핸스먼트 레이어의 부호화 데이터를 복호하여, 인핸스먼트 레이어 화상 정보를 재구축하고, 출력한다.
복호 제어부(202)는, HRD 파라미터의 경우와 마찬가지로, 각 레이어 화상 복호부(201)의 참조 관계 등을 고려하여, 각 레이어 화상 복호부(201)의 복호 처리의 제어를 행한다.
<레이어 화상 복호부의 구성예>
도 40은, buffering_period_SEI의 경우의 인핸스먼트 레이어 화상 복호부(201-2)의 주된 구성예를 나타내는 블록도이다.
또한, buffering_period_SEI의 경우의 베이스 레이어 화상 복호부(201-1)도, 대상이 되는 화상의 종류가 서로 다를 뿐이며, 도 40의 인핸스먼트 레이어 화상 복호부(201-2)와 기본적으로 마찬가지의 구성을 하고 있다. 도 40의 예에 있어서는, 설명의 편의상, 인핸스먼트 레이어 화상 복호부(201-2)의 구성을 예로 들어 설명한다.
도 40의 인핸스먼트 레이어 화상 복호부(201-2)는, 가역 복호부(212)가 가역 복호부(351)로 교체된 점과, HRD 타입 복호부(224)가 제외된 점과, 버퍼링 피리어드 SEI 복호부(352)가 추가된 점이, 도 21의 인핸스먼트 레이어 화상 복호부(201-2)와 서로 다르다.
즉, 인핸스먼트 레이어 화상 복호부(201-2)는, 축적 버퍼(211), 가역 복호부(351), 역양자화부(213), 역직교 변환부(214), 연산부(215), 루프 필터(216), 화면 재배열 버퍼(217), 및 D/A 변환부(218)를 갖는다. 또한, 인핸스먼트 레이어 화상 복호부(201-2)는, 프레임 메모리(219), 선택부(220), 인트라 예측부(221), 움직임 예측·보상부(222) 및 선택부(223)를 갖는다. 또한, 인핸스먼트 레이어 화상 복호부(201-2)는, 버퍼링 피리어드 SEI 복호부(352)를 갖는다.
축적 버퍼(211)는, 전송되어 온 인핸스먼트 레이어 부호화 데이터를 수취하는 수취부이기도 하다. 이 인핸스먼트 레이어 부호화 데이터에는, 예측 모드 정보 등의 복호에 필요한 정보가 부가되어 있다. 인핸스먼트 레이어 부호화 데이터에는, 도 33의 buffering_period_SEI와, 도 34 및 도 35의 layer_buffering_period_SEI가 부가되어 있다. 축적 버퍼(211)는, 전송되어 온 인핸스먼트 레이어 부호화 데이터를 수취하여, 축적하고, 소정의 타이밍에 있어서 그 부호화 데이터를 가역 복호부(212)에 공급한다.
또한, 축적 버퍼(211)는, 버퍼링 피리어드 SEI 복호부(352)로부터의 layer_buffering_period_SEI 복호 정보를 수취하고, layer_buffering_period_SEI 복호 정보에 기초하여, 버퍼 관리를 행한다.
가역 복호부(351)는, 도 21의 가역 복호부(212)와 마찬가지로, 축적 버퍼(211)로부터 공급된, 가역 부호화부(301)에 의해 부호화된 정보를, 가역 부호화부(301)의 부호화 방식에 대응하는 방식으로 복호한다. 가역 복호부(351)는, 복호하여 얻어진 차분 화상의 양자화된 계수 데이터를, 역양자화부(213)에 공급한다.
또한, 가역 복호부(351)는, 가역 복호부(212)와 마찬가지로, 인핸스먼트 레이어 부호화 데이터에 포함되는 비디오 파라미터 세트(VPS), 시퀀스 파라미터 세트(SPS), 및 픽처 파라미터 세트(PPS) 등을 포함하는 NAL 유닛을 적절히 추출하여, 취득한다. 가역 복호부(351)는, 가역 복호부(212)와 마찬가지로, 그들 정보로부터, 최적의 예측 모드에 관한 정보를 추출하고, 그 정보에 기초하여 최적의 예측 모드에 인트라 예측 모드가 선택되었는지 인터 예측 모드가 선택되었는지를 판정하고, 그 최적의 예측 모드에 관한 정보를, 인트라 예측부(221) 및 움직임 예측·보상부(222) 중, 선택되었다고 판정된 모드 쪽에 공급한다.
즉, 예를 들어 인핸스먼트 레이어 화상 복호부(201-2)에 있어서 최적의 예측 모드로서 인트라 예측 모드가 선택된 경우, 그 최적의 예측 모드에 관한 정보가 인트라 예측부(221)에 공급된다. 또한, 예를 들어 인핸스먼트 레이어 화상 복호부(201-2)에 있어서 최적의 예측 모드로서 인터 예측 모드가 선택된 경우, 그 최적의 예측 모드에 관한 정보가 움직임 예측·보상부(222)에 공급된다.
또한, 가역 복호부(351)는, 가역 복호부(212)와 마찬가지로, 예를 들어 양자화 행렬이나 양자화 파라미터 등의, 역양자화에 필요한 정보를 NAL 유닛 등으로부터 추출하고, 그것을 역양자화부(213)에 공급한다. 또한, 가역 복호부(351)는, 가역 복호부(212)와 달리, 예를 들어 도 33의 buffering_period_SEI와, 도 34 및 도 35의 layer_buffering_period_SEI를 분석하여 분리하고, 버퍼링 피리어드 SEI 복호부(352)에 공급한다.
버퍼링 피리어드 SEI 복호부(352)는, 가역 복호부(351)로부터의 buffering_period_SEI의 associsted_parameter_set_flag에 따라서, 계층 세트마다의 파라미터 또는 시퀀스에 대한 파라미터를 복호한다. 즉, 레이어 버퍼링 피리어드 SEI 복호부(352)는, associsted_parameter_set_flag의 값이 0(=VPS)인 경우, 계층 세트 버퍼(312)로부터의 계층 세트에 관한 정보에 기초하여, 계층 세트마다 파라미터를 수신한다. 그리고, 레이어 버퍼링 피리어드 SEI 복호부(352)는, 베이스 레이어 화상 복호부(201-1)의 가역 복호부(351: 하위 계층)로부터의 베이스 레이어 버퍼 관리 정보를 참조하여, 수신된 계층 세트마다의 파라미터를 복호한다.
또한, 레이어 버퍼링 피리어드 SEI 설정부(313)는, associsted_parameter_set_flag의 값이 1(=SPS)인 경우, 시퀀스에 대한 파라미터를 수신한다. 그리고, 레이어 버퍼링 피리어드 SEI 복호부(352)는, 베이스 레이어 화상 복호부(201-1)의 가역 복호부(351: 하위 계층)로부터의 베이스 레이어 버퍼 관리 정보를 참조하여, 수신된 시퀀스에 대한 파라미터를 복호한다.
또한, 버퍼링 피리어드 SEI 복호부(352)는, 가역 복호부(351)로부터의 layer_buffering_period_SEI의 layer_specific_parameters_present_flag를 수신하고, 그 값에 따라서, 즉, layer_specific_parameters_present_flag의 값이 1인 경우, 계층마다의 파라미터를 수신하고, 복호한다. 그리고, 레이어 버퍼링 피리어드 SEI 복호부(352)는, associsted_parameter_set_flag와 layer_specific_parameters_present_flag에 따라서 복호된 layer_buffering_period_SEI 복호 정보를 축적 버퍼(211)에 공급한다.
또한, 예를 들어 점선으로 나타낸 바와 같이, 상위 계층의 인핸스먼트 레이어 화상 복호부(201-3)가 존재하고, 그 버퍼링 피리어드 SEI 복호부(352)로부터 요구가 있는 경우에, 가역 복호부(351)는, 축적 버퍼(211)의 관리 정보를 상위 계층의 인핸스먼트 레이어 화상 복호부(201-3)에 공급한다.
<버퍼링 피리어드 SEI 복호부의 구성예>
도 41은, 도 40의 버퍼링 피리어드 SEI 복호부의 구성예를 나타내는 블록도이다.
도 41의 예에 있어서는, 버퍼링 피리어드 SEI 복호부(352)는, 관련 파라미터 세트 복호부(361), 계층 세트 버퍼(362), 레이어 버퍼링 피리어드 SEI 복호부(363), 및 계층마다 파라미터 전송 수신부(364)를 포함하게 구성되어 있다.
가역 복호부(351)는, buffering_period_SEI 및 layer_buffering_period_SEI를 분석하여 분리하고, buffering_period_SEI 부호화 정보와, 그 중의 associated_parameter_set_flag를 관련 파라미터 세트 복호부(361)에 공급한다. 또한, 가역 복호부(351)는, layer_buffering_period_SEI 부호화 정보를 레이어 버퍼링 피리어드 SEI 복호부(363)에 공급하고, 그 중의 layer_specific_parameters_present_flag를 계층마다 파라미터 전송 수신부(364)에 공급한다.
관련 파라미터 세트 복호부(361)는, 가역 복호부(351)로부터의 associsted_parameter_set_flag를 수신하고, 그 값에 따라서, buffering_period_SEI 부호화 정보를 해석한다. 즉, 관련 파라미터 세트 복호부(361)는, associsted_parameter_set_flag의 값에 따라서, buffering_period_SEI 부호화 정보로부터 필요한 정보를 취득하고, 레이어 버퍼링 피리어드 SEI 복호부(363)에 공급한다.
가역 복호부(351)는, associsted_parameter_set_flag=0의 경우, 즉, buffering_period_SEI가 VPS에 관련지어지는 경우, 인핸스먼트 레이어 화상 압축 정보의 VPS에 저장되어 있는 계층 세트에 관한 정보를 계층 세트 버퍼(362)에 공급한다. 계층 세트 버퍼(362)는, 계층 세트에 관한 정보를 축적하고, 소정의 타이밍에, 레이어 버퍼링 피리어드 SEI 복호부(363)에 공급한다.
레이어 버퍼링 피리어드 SEI 복호부(363)는, 관련 파라미터 세트 복호부(361)로부터의 associsted_parameter_set_flag에 따라서, 베이스 레이어 화상 복호부(201-1)의 가역 복호부(351: 하위 계층)로부터의 베이스 레이어 버퍼 관리 정보를 참조하고, layer_buffering_period_SEI 부호화 정보를 해석한다. 그리고, 레이어 버퍼링 피리어드 SEI 복호부(363)는, 해석한 부호화 정보를 이용하여, 계층 세트마다의 파라미터, 또는 시퀀스에 대한 파라미터를 복호한다.
즉, 레이어 버퍼링 피리어드 SEI 복호부(363)는, associsted_parameter_set_flag의 값이 1(=VPS)인 경우, 계층 세트 버퍼(362)로부터의 계층 세트에 관한 정보에 기초하여, 계층 세트마다 파라미터를 복호한다. 또한, 레이어 버퍼링 피리어드 SEI 복호부(363)는, associsted_parameter_set_flag의 값이 0(=SPS)인 경우, 시퀀스에 대한 파라미터를 복호한다.
또한, 레이어 버퍼링 피리어드 SEI 복호부(363)는, 계층마다 파라미터 전송 수신부(364)로부터의 layer_specific_parameters_present_flag를 수신하고, 그 값에 따라서, layer_buffering_period_SEI 부호화 정보를 해석한다. layer_specific_parameters_present_flag의 값이 1인 경우, 레이어 버퍼링 피리어드 SEI 복호부(363)는, 계층마다의 파라미터를 복호한다.
그리고, 레이어 버퍼링 피리어드 SEI 복호부(363)는, associsted_parameter_set_flag와 layer_specific_parameters_present_flag에 따라서 복호된 layer_buffering_period_SEI 복호 정보를 축적 버퍼(211)에 공급한다.
계층마다 파라미터 전송 수신부(364)는, layer_specific_parameters_present_flag의 값을 해석하고, 해석된 layer_specific_parameters_present_flag의 값을 레이어 버퍼링 피리어드 SEI 복호부(363)에 공급한다.
<복호 처리의 흐름>
다음으로, buffering_period_SEI의 경우의 스케일러블 복호 장치(200)에 의해 실행되는 각 처리의 흐름에 대하여 설명한다. 또한, 복호 처리의 흐름은, 도 2 3을 참조하여 전술한 복호 처리의 흐름과 기본적으로 마찬가지이므로, 그 설명은 생략된다.
<레이어 복호 처리의 흐름>
다음으로, 도 42의 흐름도를 참조하여, 도 23의 스텝 S202에 있어서의 레이어 복호 처리에 대하여 설명한다. 또한, 도 42의 스텝 S351, 및 S354 내지 S361은, 도 24의 스텝 S211, 및 S214 내지 S221과 기본적으로 거의 마찬가지의 처리를 행하므로, 그 설명은 생략된다.
즉, 가역 복호부(351)는, 스텝 S352에 있어서, 축적 버퍼(211)로부터 공급되는 인핸스먼트 레이어의 비트 스트림(부호화된 차분 화상 정보)을 복호한다. 즉, 가역 부호화부(301)에 의해 부호화된 I 픽처, P 픽처와, B 픽처가 복호된다. 이때, 헤더 정보 등의 비트 스트림에 포함된 차분 화상 정보 이외의 각종 정보도 복호된다. 예를 들어, 가역 복호부(351)는 buffering_period_SEI 및 layer_buffering_period_SEI를 분석하여 분리하고, 버퍼링 피리어드 SEI 복호부(352)에 공급한다.
스텝 S353에 있어서, 버퍼링 피리어드 SEI 복호부(352)는, 버퍼링 피리어드 SEI 복호 처리를 행한다. 이 버퍼링 피리어드 SEI 복호 처리는, 도 43을 참조하여 후술된다.
스텝 S353에 의해 layer_buffering_period_SEI가 복호되고, layer_buffering_period_SEI 복호 정보가, 축적 버퍼(211)에 공급된다. 그리고, 축적 버퍼(211)에 있어서, layer_buffering_period_SEI 복호 정보에 기초하여, 버퍼 관리가 행해진다.
<버퍼링 피리어드 SEI 복호 처리의 흐름>
다음으로, 도 43의 흐름도를 참조하여, 도 42의 스텝 S353의 버퍼링 피리어드 SEI 복호 처리에 대하여 설명한다.
가역 복호부(351)는, buffering_period_SEI 및 layer_buffering_period_SEI를 분석하여 분리하고, buffering_period_SEI 부호화 정보와, 그 중의 associated_parameter_set_flag를 관련 파라미터 세트 복호부(361)에 공급한다. 또한, 가역 복호부(351)는, layer_buffering_period_SEI 부호화 정보를 레이어 버퍼링 피리어드 SEI 복호부(363)에 공급하고, 그 중의 layer_specific_parameters_present_flag를 계층마다 파라미터 전송 수신부(364)에 공급한다.
스텝 S371에 있어서, 관련 파라미터 세트 복호부(361)는, 가역 복호부(351)로부터의 관련하는 파라미터 세트에 관한 정보인 associsted_parameter_set_flag를 수신한다. 스텝 S372에 있어서, 관련 파라미터 세트 복호부(361)는, 가역 복호부(351)로부터의 associsted_parameter_set_flag의 값을 참조하여, 관련하는 파라미터 세트가 VPS인지 여부를 판정한다.
스텝 S372에 있어서, associsted_parameter_set_flag의 값이 0이며, 관련하는 파라미터 세트가 VPS라고 판정된 경우, 처리는 스텝 S373으로 진행된다. 이때, 관련 파라미터 세트 복호부(361)는, buffering_period_SEI 부호화 정보로부터 필요한 정보(계층 세트마다의 파라미터에 관한 정보)를 취득하여, 레이어 버퍼링 피리어드 SEI 복호부(363)에 공급한다.
이에 대응하여, 레이어 버퍼링 피리어드 SEI 복호부(363)는, 관련 파라미터 세트 복호부(361)로부터의 associsted_parameter_set_flag=1에 따르며, buffering_period_SEI 부호화 정보로부터의 필요한 정보와, 베이스 레이어 화상 복호부(201-1)의 가역 복호부(351: 하위 계층)로부터의 베이스 레이어 버퍼 관리 정보를 참조하여, layer_buffering_period_SEI 부호화 정보를 해석한다. 그리고, 레이어 버퍼링 피리어드 SEI 복호부(363)는, 스텝 S373에 있어서, 해석한 부호화 정보를 이용하여, 계층 세트마다의 파라미터를 복호한다. 레이어 버퍼링 피리어드 SEI 복호부(363)는, 계층 세트마다의 파라미터를 복호한 것인, layer_buffering_period_SEI 복호 정보를, 축적 버퍼(211)에 공급한다.
또한, 스텝 S372에 있어서, associsted_parameter_set_flag의 값이 1이며, 관련하는 파라미터 세트가 VPS가 아닌, 즉, SPS라고 판정된 경우, 처리는 스텝 S374로 진행된다. 이때, 관련 파라미터 세트 복호부(361)는, buffering_period_SEI 부호화 정보로부터 필요한 정보(시퀀스에 관한 파라미터에 관한 정보)를 취득하여, 레이어 버퍼링 피리어드 SEI 복호부(363)에 공급한다.
이에 대응하여, 레이어 버퍼링 피리어드 SEI 복호부(363)는, 관련 파라미터 세트 복호부(361)로부터의 associsted_parameter_set_flag=0에 따르며, buffering_period_SEI 부호화 정보로부터의 필요한 정보와, 베이스 레이어 화상 복호부(201-1)의 가역 복호부(351: 하위 계층)로부터의 베이스 레이어 버퍼 관리 정보를 참조하여, layer_buffering_period_SEI 부호화 정보를 해석한다. 그리고, 레이어 버퍼링 피리어드 SEI 복호부(363)는, 스텝 S374에 있어서, 해석된 부호화 정보를 이용하여, 시퀀스에 대한 파라미터를 복호한다. 레이어 버퍼링 피리어드 SEI 복호부(363)는, 시퀀스에 대한 파라미터를 복호한 것인, layer_buffering_period_SEI 복호 정보를, 축적 버퍼(211)에 공급한다.
스텝 S375에 있어서, 계층마다 파라미터 전송 수신부(364)는, 가역 복호부(351)로부터의 layer_specific_parameters_present_flag를 수신한다. 계층마다 파라미터 전송 수신부(364)는, layer_specific_parameters_present_flag의 값을 해석하고, 해석된 layer_specific_parameters_present_flag의 값을 레이어 버퍼링 피리어드 SEI 복호부(363)에 공급한다.
레이어 버퍼링 피리어드 SEI 복호부(363)는, 스텝 S376에 있어서, layer_specific_parameters_present_flag의 값이 1인지 여부를 판정한다. 스텝 S376에 있어서, layer_specific_parameters_present_flag의 값이 1이라고 판정된 경우, 처리는 스텝 S377로 진행된다.
스텝 S377에 있어서, 레이어 버퍼링 피리어드 SEI 복호부(363)는, layer_buffering_period_SEI 부호화 정보를 해석하여, 계층마다의 파라미터를 복호한다. 레이어 버퍼링 피리어드 SEI 복호부(363)는, 계층마다의 파라미터를 복호한 것인 layer_buffering_period_SEI 복호 정보를 축적 버퍼(211)에 공급한다.
또한, 스텝 S376에 있어서, layer_specific_parameters_present_flag의 값이 0이라고 판정된 경우, 스텝 S377은 스킵된다.
이상과 같이, SPS뿐만 아니라, VPS에도 관련하도록 하였으므로, buffering_period_SEI에 의한 축적 버퍼의 스케줄 관리를 행할 때, 단일 계층뿐만 아니라, 계층 세트의 관리를 행하는 것이 가능해진다.
또한, 레이어(계층)마다의 파라미터를 보낼 수 있도록 하였으므로, 계층 세트에 포함되는 모든 계층을 단일의 복호 장치로 복호하는 경우와, 각각의 계층을 따로따로 복호 장치로 복호하는 경우의 양쪽의 스케줄 관리를 행하는 것이 가능해진다.
<5. 제5 실시 형태>
<AVC 플래그에 대하여>
그런데, 도 6을 참조하여 전술한 바와 같이, 상기 화상 압축 정보 혹은 상기 서브 화상 압축 정보에 있어서의, hdr_parameters()에 의한 버퍼 관리를 위한 파라미터로서, 참조하는 계층을 포함하고, 단일 복호 장치에 의해 복호 처리를 행하는 ex11의 케이스 외에, 각각의 계층을 각각의 복호 장치에 의해 복호 처리를 행하는 ex12의 케이스를 위한 것을 정의할 수 있도록 하는 것이 제안되어 있다.
그러나, 하위 계층인 BL(베이스 레이어)이 AVC에 의해 부호화되고, 상위 계층인 EL(인핸스먼트 레이어)이 HEVC에 의해 부호화되어 있는 경우, BL과 EL을 단일 복호 장치에 의해 처리하는 예는, 그 실현이 곤란하였다.
따라서, Vps_extention()에 있어서, 베이스 레이어가 AVC에 의해 부호화되어 있음을 나타내는 플래그인 avc_base_layer_flag를 전송한다. 그리고, avc_base_layer_flag=1인 경우, ex11의 예의 파라미터의 전송을 금지한다. 또한, 이것은, 시맨택스에 의한 구속에 의해 실현된다. 또한, avc_base_layer_flag는, 이하, AVC 플래그라고도 칭한다.
<AVC 플래그의 경우의 HRD 파라미터 부호화 처리>
다음으로, 도 44의 흐름도를 참조하여, 도 15의 스텝 S124의 HRD 파라미터 부호화 처리의 다른 예에 대하여 설명한다. 또한, 도 44의 스텝 S413 내지 S418은, 도 16의 스텝 S132 내지 S137과 기본적으로 마찬가지의 처리를 행하고, 그 설명은 반복이 되므로 생략된다.
예를 들어, 도 12의 가역 부호화부(116)는, Vps_extention의 avc_base_layer_flag를 HRD 파라미터 타입 설정부(143)에 공급한다.
스텝 S411에 있어서, HRD 파라미터 타입 설정부(143)는, 가역 부호화부(116)로부터의 avc_base_layer_flag(AVC 플래그)의 값을 확인한다.
스텝 S412에 있어서, HRD 파라미터 타입 설정부(143)는, HRD 파라미터 타입을 설정한다. 또한, 이때, 스텝 S411에 의해 확인된 avc_base_layer_flag(AVC 플래그)의 값이 1인 경우, 베이스 레이어가 AVC에 의해 부호화되어 있으며, 상기 계층 및 그 이하의 계층을 포함한 복호 처리를 행하는 처리가 금지되는 것을 나타내고 있다. 따라서, HRD 파라미터 타입 설정부(143)는, HRD 파라미터 타입을, 상기 계층만의 복호 처리를 행하기 위한 값인 1로 설정한다.
스텝 S411에 의해 확인된 avc_base_layer_flag(AVC 플래그)의 값이 0인 경우, 도 16의 스텝 S131과 마찬가지로, HRD 파라미터 타입 설정부(143)는, 유저의 지시에 대응하여, HRD 파라미터 타입을 설정한다.
HRD 파라미터 타입 설정부(143)는, 설정된 HRD 파라미터 타입을 나타내는 플래그를, 가역 부호화부(116) 및 계층 HRD 파라미터 산출부(141)에 공급한다.
이상과 같이, Vps_extention()에 있어서, 베이스 레이어가 AVC에 의해 부호화되어 있는 avc_base_layer_flag=1인 경우, HRD 파라미터 타입을, 상기 계층만의 복호 처리를 행하기 위한 값인 1로 설정하도록 하였다. 이에 의해, 베이스 레이어가 AVC에 의해 부호화되어 있는 경우, 복호측에서는, 상기 계층 및 그 이하의 계층을 포함한 복호 처리를 행하는 처리가 금지되므로, 불법적인 비트 스트림을 복호측에서 수취하는 것이 억제된다.
또한, 상기 시맨택스는, buffering_period_SEI의 경우에도 적용할 수 있다.
<AVC 플래그의 경우의 버퍼링 피리어드 SEI 부호화 처리>
다음으로, 도 45의 흐름도를 참조하여, 도 38의 스텝 S324의 버퍼링 피리어드 SEI 부호화 처리의 다른 예에 대하여 설명한다. 또한, 도 45의 스텝 S431 내지 S434 및 S437 내지 S439는, 도 39의 스텝 S331 내지 S334 및 S336 내지 S338과 기본적으로 마찬가지의 처리를 행하고, 그 설명은 반복이 되므로 생략된다.
예를 들어, 도 37의 가역 부호화부(301)는, Vps_extention의 avc_base_layer_flag를 계층마다 파라미터 전송 지정부(314)에 공급한다.
스텝 S435에 있어서, 계층마다 파라미터 전송 지정부(314)는, 가역 부호화부(301)로부터의 avc_base_layer_flag(AVC 플래그)의 값을 확인한다.
스텝 S436에 있어서, 계층마다 파라미터 전송 지정부(314)는, layer_specific_parameters_present_flag의 설정을 행한다. 또한, 이때, 스텝 S435에 의해 확인된 avc_base_layer_flag(AVC 플래그)의 값이 1인 경우, 베이스 레이어가 AVC에 의해 부호화되어 있으며, 상기 계층 및 그 이하의 계층을 포함한 복호 처리를 행하는 처리가 금지되는 것을 나타내고 있다. 따라서, 계층마다 파라미터 전송 지정부(314)는, layer_specific_parameters_present_flag를, 계층마다의 파라미터 설정을 행하는 것을 나타내는 값인 1로 설정한다. 또한, layer_specific_parameters_present_flag=1의 경우, 아래 계층으로부터의 축적의 파라미터를 설정하지 않도록 해도 된다.
스텝 S435에 의해 확인된 avc_base_layer_flag(AVC 플래그)의 값이 0인 경우, 도 39의 스텝 S335와 마찬가지로, 계층마다 파라미터 전송 지정부(314)는, 유저 조작에 대응하여, layer_specific_parameters_present_flag의 설정을 행한다.
계층마다 파라미터 전송 지정부(314)는, 설정된 layer_specific_parameters_present_flag의 값을, 가역 부호화부(301)에 공급함과 함께, 레이어 버퍼링 피리어드 SEI 설정부(313)에도 공급한다. 또한, 베이스 레이어 화상 부호화부(101-1)의 가역 부호화부(301)로부터, 베이스 레이어에 있어서의 버퍼 관리 정보가 레이어 버퍼링 피리어드 SEI 설정부(313)에 공급된다.
이상과 같이, Vps_extention()에 있어서, avc_base_layer_flag=1인 경우, layer_specific_parameters_present_flag를, 계층마다의 파라미터 설정을 행하는 것을 나타내는 값인 1로 설정하도록 하였다. 이에 의해, 베이스 레이어가 AVC에 의해 부호화되어 있는 경우, 복호측에서는, 상기 계층 및 그 이하의 계층을 포함한 복호 처리를 행하는 처리가 금지되므로, 불법적인 비트 스트림을 복호측에서 수취하는 것이 억제된다.
이상에서는, 스케일러블 부호화에 의해 화상 데이터가 계층화되어 복수 레이어화되도록 설명하였지만, 그 레이어 수는 임의이다. 또한, 예를 들어 일부의 픽처가 계층화되도록 해도 된다. 또한, 이상에 있어서는, 부호화·복호에 있어서, 인핸스먼트 레이어는, 베이스 레이어를 참조하여 처리되도록 설명하였지만, 이에 한정되지 않고, 인핸스먼트 레이어가, 처리가 완료된 다른 인핸스먼트 레이어를 참조하여 처리되도록 해도 된다.
또한, 이상에 설명한 레이어에는, 다시점 화상 부호화·복호에 있어서의 뷰도 포함된다. 즉, 본 기술은, 다시점 화상 부호화·다시점 화상 복호에 적용할 수 있다. 도 46은, 다시점 화상 부호화 방식의 일례를 나타낸다.
<6. 제6 실시 형태>
[다시점 화상 부호화·다시점 화상 복호에 대한 적용]
전술한 일련의 처리는, 다시점 화상 부호화·다시점 화상 복호에 적용할 수 있다. 도 46은, 다시점 화상 부호화 방식의 일례를 나타낸다.
도 46에 도시된 바와 같이, 다시점 화상은, 복수의 시점(뷰(view))의 화상을 포함한다. 이 다시점 화상의 복수의 뷰는, 다른 뷰의 화상을 이용하지 않고 자신의 뷰 화상만을 사용하여 부호화·복호를 행하는 베이스 뷰와, 다른 뷰의 화상을 이용하여 부호화·복호를 행하는 논베이스 뷰를 포함한다. 논베이스 뷰는, 베이스 뷰의 화상을 이용하도록 해도 되고, 다른 논베이스 뷰의 화상을 이용하도록 해도 된다.
도 46과 같은 다시점 화상을 부호화·복호하는 경우, 각 뷰의 화상을 부호화·복호하지만, 이 각 뷰의 부호화·복호에 대하여, 제1 실시 형태 및 제2 실시 형태에 있어서 전술한 방법을 적용하도록 해도 된다. 이와 같이 함으로써, 적절한 타이밍에 복호 처리를 행할 수 있다.
또한, 각 뷰의 부호화·복호에 있어서, 제1 실시 형태 및 제2 실시 형태에 있어서 전술한 방법에서 사용되는 플래그나 파라미터를 공유하도록 해도 된다. 이와 같이 함으로써, 용장성 정보의 전송을 억제하여, 전송되는 정보량(부호량)을 저감할 수 있다(즉, 부호화 효율의 저감을 억제할 수 있다).
보다 구체적으로는, 예를 들어 HRD 파라미터 타입 플래그나 HRD 파라미터, 또는 buffering_period_SEI 및 layer_buffering_period_SEI 등을, 각 뷰의 부호화·복호에 있어서 공유하도록 해도 된다.
물론, 이들 이외의 필요한 정보도, 각 뷰의 부호화·복호에 있어서 공유하도록 해도 된다.
[다시점 화상 부호화 장치의 구성예]
도 47은, 전술한 다시점 화상 부호화를 행하는 다시점 화상 부호화 장치를 나타내는 도면이다. 도 47에 도시된 바와 같이, 다시점 화상 부호화 장치(600)는, 부호화부(601), 부호화부(602) 및 다중화부(603)를 갖는다.
부호화부(601)는, 베이스 뷰 화상을 부호화하여, 베이스 뷰 화상 부호화 스트림을 생성한다. 부호화부(602)는, 논베이스 뷰 화상을 부호화하여, 논베이스 뷰 화상 부호화 스트림을 생성한다. 다중화부(603)는, 부호화부(601)에 있어서 생성된 베이스 뷰 화상 부호화 스트림과, 부호화부(602)에 있어서 생성된 논베이스 뷰 화상 부호화 스트림을 다중화하고, 다시점 화상 부호화 스트림을 생성한다.
이 다시점 화상 부호화 장치(600)의 부호화부(601) 및 부호화부(602)에 대하여 스케일러블 부호화 장치(100)(도 10)를 적용할 수 있다. 즉, 각 뷰에 대한 부호화에 있어서, 뷰마다 HRD 파라미터 타입 플래그나 HRD 파라미터를 설정할 수 있어, 적절한 타이밍에 복호 처리를 행할 수 있다. 또한, 부호화부(601) 및 부호화부(602)는, 서로 동일한 HRD 파라미터 타입 플래그나 HRD 파라미터를 사용할 수도 있으므로(즉, 플래그나 파라미터를 모두 가질 수 있으므로), 부호화 효율의 저감을 억제할 수 있거나, 또한 적절한 타이밍에 복호 처리를 행할 수 있다. 또한, buffering_period_SEI 및 layer_buffering_period_SEI에 대해서도 마찬가지로 함으로써 마찬가지로 부호화 효율의 저감을 억제할 수 있거나, 또한 적절한 타이밍에 복호 처리를 행할 수 있다.
[다시점 화상 복호 장치의 구성예]
도 48은, 전술한 다시점 화상 복호를 행하는 다시점 화상 복호 장치를 나타내는 도면이다. 도 48에 도시된 바와 같이, 다시점 화상 복호 장치(610)는, 역 다중화부(611), 복호부(612) 및 복호부(613)를 갖는다.
역 다중화부(611)는, 베이스 뷰 화상 부호화 스트림과 논베이스 뷰 화상 부호화 스트림이 다중화된 다시점 화상 부호화 스트림을 역 다중화하여, 베이스 뷰 화상 부호화 스트림과, 논베이스 뷰 화상 부호화 스트림을 추출한다. 복호부(612)는, 역 다중화부(611)에 의해 추출된 베이스 뷰 화상 부호화 스트림을 복호하여, 베이스 뷰 화상을 얻는다. 복호부(613)는, 역 다중화부(611)에 의해 추출된 논베이스 뷰 화상 부호화 스트림을 복호하여, 논베이스 뷰 화상을 얻는다.
이 다시점 화상 복호 장치(610)의 복호부(612) 및 복호부(613)에 대하여 스케일러블 복호 장치(200)(도 20)를 적용할 수 있다. 즉, 각 뷰에 대한 부호화에 있어서, 뷰마다 HRD 파라미터 타입 플래그나 HRD 파라미터를 설정할 수 있어, 적절한 타이밍에 복호 처리를 행할 수 있다. 또한, 복호부(612) 및 복호부(613)는, 서로 동일한 HRD 파라미터 타입 플래그나 HRD 파라미터를 사용할 수도 있으므로(즉, 플래그나 파라미터를 모두 가질 수 있으므로), 부호화 효율의 저감을 억제할 수 있거나 또한 적절한 타이밍에 복호 처리를 행할 수 있다. 또한, buffering_period_SEI 및 layer_buffering_period_SEI에 대해서도 마찬가지로 함으로써 마찬가지로 부호화 효율의 저감을 억제할 수 있거나, 또한 적절한 타이밍에 복호 처리를 행할 수 있다.
이상과 같이, 본 기술의 적용 범위는, 스케일러블 부호화·복호 방식에 기초하는 모든 화상 부호화 장치 및 화상 복호 장치에 적용할 수 있다.
또한, 본 기술은, 예를 들어 MPEG, H.26x 등과 같이, 이산 코사인 변환 등의 직교 변환과 움직임 보상에 의해 압축된 화상 정보(비트 스트림)를 위성 방송, 케이블 텔레비전, 인터넷, 또는 휴대 전화기 등의 네트워크 미디어를 통해 수신할 때 사용되는 화상 부호화 장치 및 화상 복호 장치에 적용할 수 있다. 또한, 본 기술은, 광, 자기디스크, 및 플래시 메모리와 같은 기억 미디어 상에서 처리할 때 사용되는 화상 부호화 장치 및 화상 복호 장치에 적용할 수 있다. 또한, 본 기술은, 그들의 화상 부호화 장치 및 화상 복호 장치 등에 포함되는 직교 변환 장치 혹은 역직교 변환 장치에도 적용할 수 있다.
<7. 제7 실시 형태>
[컴퓨터]
전술한 일련의 처리는, 하드웨어에 의해 실행시킬 수도 있고, 소프트웨어에 의해 실행시킬 수도 있다. 일련의 처리를 소프트웨어에 의해 실행하는 경우에는, 그 소프트웨어를 구성하는 프로그램이, 컴퓨터에 인스톨된다. 여기서 컴퓨터에는, 전용의 하드웨어에 내장되어 있는 컴퓨터나, 각종 프로그램을 인스톨함으로써, 각종 기능을 실행하는 것이 가능한, 예를 들어 범용의 퍼스널 컴퓨터 등이 포함된다.
도 49는, 전술한 일련의 처리를 프로그램에 의해 실행하는 컴퓨터의 하드웨어 구성예를 나타내는 블록도이다.
도 49에 도시된 컴퓨터(800)에 있어서, CPU(801: Central Processing Unit), ROM(802: Read Only Memory), RAM(803: Random Access Memory)은, 버스(804)를 통해 서로 접속되어 있다.
버스(804)에는 또한, 입출력 인터페이스(810)도 접속되어 있다. 입출력 인터페이스(810)에는, 입력부(811), 출력부(812), 기억부(813), 통신부(814), 및 드라이브(815)가 접속되어 있다.
입력부(811)는, 예를 들어 키보드, 마우스, 마이크로폰, 터치 패널, 입력 단자 등을 포함한다. 출력부(812)는, 예를 들어 디스플레이, 스피커, 출력 단자 등을 포함한다. 기억부(813)는, 예를 들어 하드디스크, RAM 디스크, 불휘발성의 메모리 등을 포함한다. 통신부(814)는, 예를 들어 네트워크 인터페이스를 포함한다. 드라이브(815)는, 자기디스크, 광디스크, 광자기디스크, 또는 반도체 메모리 등의 리무버블 미디어(821)를 구동한다.
이상과 같이 구성되는 컴퓨터에서는, CPU(801)가, 예를 들어 기억부(813)에 기억되어 있는 프로그램을, 입출력 인터페이스(810) 및 버스(804)를 통해 RAM(803)에 로드하여 실행함으로써, 전술한 일련의 처리가 행해진다. RAM(803)에는 또한, CPU(801)가 각종 처리를 실행함에 있어서 필요한 데이터 등도 적절히 기억된다.
컴퓨터(CPU(801))가 실행하는 프로그램은, 예를 들어 패키지 미디어 등으로서의 리무버블 미디어(821)에 기록하여 적용할 수 있다. 또한, 프로그램은, 로컬에리어 네트워크, 인터넷, 디지털 위성 방송과 같은, 유선 또는 무선의 전송 매체를 통해 제공할 수 있다.
컴퓨터에서는, 프로그램은, 리무버블 미디어(821)를 드라이브(815)에 장착함으로써, 입출력 인터페이스(810)를 통해 기억부(813)에 인스톨할 수 있다. 또한, 프로그램은, 유선 또는 무선의 전송 매체를 통해 통신부(814)로 수신하고, 기억부(813)에 인스톨할 수 있다. 그 밖에, 프로그램은, ROM(802)이나 기억부(813)에, 미리 인스톨해 둘 수 있다.
또한, 컴퓨터가 실행하는 프로그램은, 본 명세서에서 설명하는 순서를 따라서 시계열로 처리가 행해지는 프로그램이어도 되고, 병렬로, 또는 호출이 행해졌을 때 등의 필요한 타이밍에 처리가 행해지는 프로그램이어도 된다.
또한, 본 명세서에 있어서, 기록 매체에 기록되는 프로그램을 기술하는 스텝은, 기재된 순서를 따라서 시계열적으로 행해지는 처리는 물론, 반드시 시계열적으로 처리되지 않아도, 병렬적 또는 개별로 실행되는 처리도 포함하는 것이다.
또한, 본 명세서에 있어서, 시스템이란, 복수의 구성 요소(장치, 모듈(부품) 등)의 집합을 의미하며, 모든 구성 요소가 동일 하우징 내에 있는지 여부는 묻지 않는다. 따라서, 별개의 하우징에 수납되어, 네트워크를 통해 접속되어 있는 복수의 장치, 및 하나의 하우징 내에 복수의 모듈이 수납되어 있는 하나의 장치는, 모두 시스템이다.
또한, 이상에서, 하나의 장치(또는 처리부)로서 설명한 구성을 분할하여, 복수의 장치(또는 처리부)로서 구성하도록 해도 된다. 반대로, 이상에서 복수의 장치(또는 처리부)로서 설명한 구성을 통합하여 하나의 장치(또는 처리부)로서 구성되도록 해도 된다. 또한, 각 장치(또는 각 처리부)의 구성에 전술한 이외의 구성을 부가하도록 해도 물론 좋다. 또한, 시스템 전체로서의 구성이나 동작이 실질적으로 동일하면, 어떤 장치(또는 처리부)의 구성의 일부를 다른 장치(또는 다른 처리부)의 구성에 포함하도록 해도 된다.
이상, 첨부 도면을 참조하면서 본 개시의 바람직한 실시 형태에 대하여 상세히 설명하였지만, 본 개시의 기술적 범위는 이러한 예에 한정되지 않는다. 본 개시의 기술분야에서의 통상의 지식을 갖는 사람이라면, 청구범위에 기재된 기술적 사상의 범주 내에서, 각종 변경예 또는 수정예에 상도할 수 있음은 명확하며, 이들에 대해서도, 당연히 본 개시의 기술적 범위에 속하는 것이라고 이해된다.
예를 들어, 본 기술은, 하나의 기능을, 네트워크를 통해 복수의 장치로 분담, 공동으로 처리하는 클라우드 컴퓨팅의 구성을 취할 수 있다.
또한, 전술한 흐름도에서 설명한 각 스텝은, 하나의 장치에서 실행하는 것 외에, 복수의 장치에서 분담하여 실행할 수 있다.
또한, 하나의 스텝에 복수의 처리가 포함되는 경우에는, 그 하나의 스텝에 포함되는 복수의 처리는, 하나의 장치에서 실행하는 것 외에, 복수의 장치에서 분담하여 실행할 수 있다.
전술한 실시 형태에 따른 화상 부호화 장치 및 화상 복호 장치는, 위성 방송, 케이블 TV 등의 유선 방송, 인터넷상에서의 배신, 및 셀룰러 통신에 의한 단말기에 대한 배신 등에 있어서의 송신기 또는 수신기, 광디스크, 자기디스크 및 플래시 메모리 등의 매체에 화상을 기록하는 기록 장치, 또는 이들 기억 매체로부터 화상을 재생하는 재생 장치 등의 다양한 전자 기기에 응용될 수 있다. 이하, 4개의 응용예에 대하여 설명한다.
<8. 응용예>
[제1 응용예: 텔레비전 수상기]
도 50은, 전술한 실시 형태를 적용한 텔레비전 장치의 개략적인 구성의 일례를 나타내고 있다. 텔레비전 장치(900)는, 안테나(901), 튜너(902), 디멀티플렉서(903), 디코더(904), 영상 신호 처리부(905), 표시부(906), 음성 신호 처리부(907), 스피커(908), 외부 인터페이스(909), 제어부(910), 유저 인터페이스(911), 및 버스(912)를 구비한다.
튜너(902)는, 안테나(901)를 통해 수신되는 방송 신호로부터 원하는 채널의 신호를 추출하고, 추출한 신호를 복조한다. 그리고, 튜너(902)는, 복조에 의해 얻어진 부호화 비트 스트림을 디멀티플렉서(903)로 출력한다. 즉, 튜너(902)는, 화상이 부호화되어 있는 부호화 스트림을 수신하는, 텔레비전 장치(900)에 있어서의 전송부로서의 역할을 갖는다.
디멀티플렉서(903)는, 부호화 비트 스트림으로부터 시청 대상의 프로그램의 영상 스트림 및 음성 스트림을 분리하고, 분리된 각 스트림을 디코더(904)로 출력한다. 또한, 디멀티플렉서(903)는, 부호화 비트 스트림으로부터 EPG(Electronic Program Guide) 등의 보조적인 데이터를 추출하고, 추출된 데이터를 제어부(910)에 공급한다. 또한, 디멀티플렉서(903)는, 부호화 비트 스트림이 스크램블되어 있는 경우에는, 디스크램블을 행하여도 된다.
디코더(904)는, 디멀티플렉서(903)로부터 입력되는 영상 스트림 및 음성 스트림을 복호한다. 그리고, 디코더(904)는, 복호 처리에 의해 생성되는 영상 데이터를 영상 신호 처리부(905)로 출력한다. 또한, 디코더(904)는, 복호 처리에 의해 생성되는 음성 데이터를 음성 신호 처리부(907)로 출력한다.
영상 신호 처리부(905)는, 디코더(904)로부터 입력되는 영상 데이터를 재생하고, 표시부(906)에 영상을 표시시킨다. 또한, 영상 신호 처리부(905)는, 네트워크를 통해 공급되는 애플리케이션 화면을 표시부(906)에 표시시켜도 된다. 또한, 영상 신호 처리부(905)는, 영상 데이터에 대하여, 설정에 따라서, 예를 들어 노이즈 제거 등의 추가적인 처리를 행하여도 된다. 또한, 영상 신호 처리부(905)는, 예를 들어 메뉴, 버튼 또는 커서 등의 GUI(Graphical User Interface)의 화상을 생성하고, 생성된 화상을 출력 화상에 중첩하여도 된다.
표시부(906)는, 영상 신호 처리부(905)로부터 공급되는 구동 신호에 의해 구동되고, 표시 디바이스(예를 들어, 액정 디스플레이, 플라즈마 디스플레이 또는 OELD(Organic ElectroLuminescence Display)(유기 EL 디스플레이) 등)의 영상면 위에 영상 또는 화상을 표시한다.
음성 신호 처리부(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)를 서로 접속한다.
이와 같이 구성된 텔레비전 장치(900)에 있어서, 디코더(904)는, 전술한 실시 형태에 따른 스케일러블 복호 장치(200)의 기능을 갖는다. 그것에 의해, 텔레비전 장치(900)에서의 화상의 복호 시에, 적절한 타이밍에 복호 처리를 행할 수 있다.
[제2 응용예: 휴대 전화기]
도 51은, 전술한 실시 형태를 적용한 휴대 전화기의 개략적인 구성의 일례를 나타내고 있다. 휴대 전화기(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)는, 음성 통화 모드, 데이터 통신 모드, 촬영 모드 및 텔레비전 전화 모드를 포함하는 다양한 동작 모드에서, 음성 신호의 송수신, 전자 메일 또는 화상 데이터의 송수신, 화상의 촬상, 및 데이터의 기록 등의 동작을 행한다.
음성 통화 모드에서, 마이크로폰(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(Universal Serial Bus) 메모리, 또는 메모리 카드 등의 외부 장착형 기억 매체이어도 된다.
또한, 촬영 모드에서, 예를 들어 카메라부(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)에 공급하여 음성을 출력시킨다.
이와 같이 구성된 휴대 전화기(920)에 있어서, 화상 처리부(927)는, 전술한 실시 형태에 따른 스케일러블 부호화 장치(100) 및 스케일러블 복호 장치(200)의 기능을 갖는다. 그에 의해, 휴대 전화기(920)에서의 화상의 부호화 및 복호 시에, 적절한 타이밍에 복호 처리를 행할 수 있다.
[제3 응용예: 기록 재생 장치]
도 52는, 전술한 실시 형태를 적용한 기록 재생 장치의 개략적인 구성의 일례를 나타내고 있다. 기록 재생 장치(940)는, 예를 들어 수신된 방송 프로그램의 음성 데이터 및 영상 데이터를 부호화하여 기록 매체에 기록한다. 또한, 기록 재생 장치(940)는, 예를 들어 다른 장치로부터 취득되는 음성 데이터 및 영상 데이터를 부호화하여 기록 매체에 기록하여도 된다. 또한, 기록 재생 장치(940)는, 예를 들어 유저의 지시에 따라서, 기록 매체에 기록되어 있는 데이터를 모니터 및 스피커 상에서 재생한다. 이때, 기록 재생 장치(940)는, 음성 데이터 및 영상 데이터를 복호한다.
기록 재생 장치(940)는, 튜너(941), 외부 인터페이스(942), 인코더(943), HDD(944: Hard Disk Drive), 디스크 드라이브(945), 셀렉터(946), 디코더(947), OSD(948: On-Screen Display), 제어부(949), 및 유저 인터페이스(950)를 구비한다.
튜너(941)는, 안테나(도시생략)를 통해 수신되는 방송 신호로부터 원하는 채널의 신호를 추출하고, 추출된 신호를 복조한다. 그리고, 튜너(941)는, 복조에 의해 얻어진 부호화 비트 스트림을 셀렉터(946)로 출력한다. 즉, 튜너(941)는, 기록 재생 장치(940)에서의 전송부로서의 역할을 갖는다.
외부 인터페이스(942)는, 기록 재생 장치(940)와 외부 기기 또는 네트워크를 접속하기 위한 인터페이스이다. 외부 인터페이스(942)는, 예를 들어 IEEE1394 인터페이스, 네트워크 인터페이스, USB 인터페이스, 또는 플래시 메모리 인터페이스 등이어도 된다. 예를 들어, 외부 인터페이스(942)를 통해 수신되는 영상 데이터 및 음성 데이터는, 인코더(943)에 입력된다. 즉, 외부 인터페이스(942)는, 기록 재생 장치(940)에 있어서의 전송부로서의 역할을 갖는다.
인코더(943)는, 외부 인터페이스(942)로부터 입력되는 영상 데이터 및 음성 데이터가 부호화되지 않는 경우에, 영상 데이터 및 음성 데이터를 부호화한다. 그리고, 인코더(943)는, 부호화 비트 스트림을 셀렉터(946)로 출력한다.
HDD(944)는, 영상 및 음성 등의 콘텐츠 데이터가 압축된 부호화 비트 스트림, 각종 프로그램 및 그 밖의 데이터를 내부의 하드디스크에 기록한다. 또한, HDD(944)는, 영상 및 음성의 재생 시에, 이들 데이터를 하드디스크로부터 판독한다.
디스크 드라이브(945)는, 장착되어 있는 기록 매체에 대한 데이터의 기록 및 판독을 행한다. 디스크 드라이브(945)에 장착되어 기록 매체는, 예를 들어 DVD 디스크(DVD-Video, DVD- RAM, DVD-R, DVD-RW, DVD+R, DVD+RW 등) 또는 Blu-ray(등록상표) 디스크 등이어도 된다.
셀렉터(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)로 출력한다.
이와 같이 구성된 기록 재생 장치(940)에 있어서, 인코더(943)는, 전술한 실시 형태에 따른 스케일러블 부호화 장치(100)의 기능을 갖는다. 또한, 디코더(947)는, 전술한 실시 형태에 따른 스케일러블 복호 장치(200)의 기능을 갖는다. 그에 의해, 기록 재생 장치(940)에서의 화상의 부호화 및 복호 시에, 적절한 타이밍에 복호 처리를 행할 수 있다.
[제4 응용예: 촬상 장치]
도 53은, 전술한 실시 형태를 적용한 촬상 장치의 개략적인 구성의 일례를 나타내고 있다. 촬상 장치(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)은, 포커스 렌즈 및 조리개 기구 등을 갖는다. 광학 블록(961)은, 피사체의 광학 상을 촬상부(962)의 촬상면에 결상시킨다. 촬상부(962)는, CCD(Charge Coupled Device) 또는 CMOS(Complementary Metal Oxide Semiconductor) 등의 이미지 센서를 갖고, 촬상면에 결상한 광학 상을 광전 변환에 의해 전기 신호로서의 화상 신호로 변환한다. 그리고, 촬상부(962)는, 화상 신호를 신호 처리부(963)로 출력한다.
신호 처리부(963)는, 촬상부(962)로부터 입력되는 화상 신호에 대하여 니 보정, 감마 보정, 색 보정 등의 다양한 카메라 신호 처리를 행한다. 신호 처리부(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(Solid State Drive)와 같은 비가반성의 기억부가 구성되어도 된다.
제어부(970)는, CPU 등의 프로세서, 및 RAM 및 ROM 등의 메모리를 갖는다. 메모리는, CPU에 의해 실행되는 프로그램, 및 프로그램 데이터 등을 기억한다. 메모리에 의해 기억되는 프로그램은, 예를 들어 촬상 장치(960)의 기동 시에 CPU에 의해 판독되어 실행된다. CPU는, 프로그램을 실행함으로써, 예를 들어 유저 인터페이스(971)로부터 입력되는 조작 신호에 따라서, 촬상 장치(960)의 동작을 제어한다.
유저 인터페이스(971)는, 제어부(970)와 접속된다. 유저 인터페이스(971)는, 예를 들어 유저가 촬상 장치(960)를 조작하기 위한 버튼 및 스위치 등을 갖는다. 유저 인터페이스(971)는, 이들 구성 요소를 통해 유저에 의한 조작을 검출하여 조작 신호를 생성하고, 생성된 조작 신호를 제어부(970)로 출력한다.
이와 같이 구성된 촬상 장치(960)에 있어서, 화상 처리부(964)는, 전술한 실시 형태에 따른 스케일러블 부호화 장치(100) 및 스케일러블 복호 장치(200)의 기능을 갖는다. 그에 의해, 촬상 장치(960)에서의 화상의 부호화 및 복호 시에, 적절한 타이밍에 복호 처리를 행할 수 있다.
<9. 스케일러블 부호화의 응용예>
[제1 시스템]
다음으로, 스케일러블 부호화(계층 부호화)된 스케일러블 부호화 데이터의 구체적인 이용예에 대하여 설명한다. 스케일러블 부호화는, 예를 들어 도 54에 도시한 예와 같이, 전송하는 데이터의 선택을 위해 이용된다.
도 54에 도시된 데이터 전송 시스템(1000)에 있어서, 배신 서버(1002)는, 스케일러블 부호화 데이터 기억부(1001)에 기억되어 있는 스케일러블 부호화 데이터를 판독하고, 네트워크(1003)를 통해 퍼스널 컴퓨터(1004), AV 기기(1005), 태블릿 디바이스(1006) 및 휴대 전화기(1007) 등의 단말 장치에 배신한다.
그 때, 배신 서버(1002)는, 단말 장치의 능력이나 통신 환경 등에 따라서, 적절한 품질의 부호화 데이터를 선택하여 전송한다. 배신 서버(1002)가 불필요하게 고품질의 데이터를 전송하여도, 단말 장치에서 고화질의 화상을 얻어진다고는 할 수 없으며, 지연이나 오버플로우의 발생 요인이 될 우려가 있다. 또한, 불필요하게 통신 대역을 점유하거나, 단말 장치의 부하를 불필요하게 증대시키거나 해버릴 우려도 있다. 반대로, 배신 서버(1002)가 불필요하게 저품질의 데이터를 전송하여도, 단말 장치에서 충분한 화질의 화상을 얻을 수 없을 우려가 있다. 그로 인해, 배신 서버(1002)는, 스케일러블 부호화 데이터 기억부(1001)에 기억되어 있는 스케일러블 부호화 데이터를, 적절히 단말 장치의 능력이나 통신 환경 등에 대하여 적절한 품질의 부호화 데이터로서 판독하여 전송한다.
예를 들어, 스케일러블 부호화 데이터 기억부(1001)는, 스케일러블에 부호화된 스케일러블 부호화 데이터(BL+EL)(1011)를 기억하는 것으로 한다. 이 스케일러블 부호화 데이터(BL+EL)(1011)는, 베이스 레이어와 인핸스먼트 레이어의 양쪽을 포함하는 부호화 데이터이며, 복호함으로써, 베이스 레이어의 화상 및 인핸스먼트 레이어의 화상 양쪽을 얻을 수 있는 데이터이다.
배신 서버(1002)는, 데이터를 전송하는 단말 장치의 능력이나 통신 환경 등에 따라 적절한 레이어를 선택하여, 그 레이어의 데이터를 판독한다. 예를 들어, 배신 서버(1002)는, 처리 능력이 높은 퍼스널 컴퓨터(1004)나 태블릿 디바이스(1006)에 대해서는, 고품질의 스케일러블 부호화 데이터(BL+EL)(1011)를 스케일러블 부호화 데이터 기억부(1001)로부터 판독하여, 그대로 전송한다. 이에 반하여, 예를 들어 배신 서버(1002)는, 처리 능력이 낮은 AV 기기(1005)나 휴대 전화기(1007)에 대해서는, 스케일러블 부호화 데이터(BL+EL)(1011)로부터 베이스 레이어의 데이터를 추출하여, 스케일러블 부호화 데이터(BL+EL)(1011)와 같은 콘텐츠의 데이터이지만, 스케일러블 부호화 데이터(BL+EL)(1011)보다도 저품질의 스케일러블 부호화 데이터(BL)(1012)로서 전송한다.
이와 같이 스케일러블 부호화 데이터를 사용함으로써, 데이터량을 용이하게 조정할 수 있으므로, 지연이나 오버플로우의 발생을 억제하거나, 단말 장치나 통신 매체의 부하 불필요한 증대를 억제하거나 할 수 있다. 또한, 스케일러블 부호화 데이터(BL+EL)(1011)는, 레이어 간의 용장성이 저감되어 있으므로, 각 레이어의 부호화 데이터를 개별 데이터로 하는 경우보다도 그 데이터량을 저감시킬 수 있다. 따라서, 스케일러블 부호화 데이터 기억부(1001)의 기억 영역을 보다 효율적으로 사용할 수 있다.
또한, 퍼스널 컴퓨터(1004) 내지 휴대 전화기(1007)와 같이, 단말 장치에는 다양한 장치를 적용할 수 있으므로, 단말 장치의 하드웨어 성능은, 장치에 따라 서로 다르다. 또한, 단말 장치가 실행하는 애플리케이션도 다양하므로, 그 소프트웨어의 능력도 다양하다. 또한, 통신 매체가 되는 네트워크(1003)도, 예를 들어 인터넷이나 LAN(Local Area Network) 등, 유선 혹은 무선, 또는 그 양쪽을 포함하는 모든 통신 회선망을 적용할 수 있어, 그 데이터 전송 능력은 다양하다. 또한, 다른 통신 등에 의해서도 변화할 우려가 있다.
따라서, 배신 서버(1002)는, 데이터 전송을 개시하기 전에, 데이터의 전송처가 되는 단말기 장치와 통신을 행하여, 단말 장치의 하드웨어 성능이나, 단말 장치가 실행하는 애플리케이션(소프트웨어)의 성능 등과 같은 단말 장치의 능력에 관한 정보, 및 네트워크(1003)의 이용 가능 대역폭 등의 통신 환경에 관한 정보를 얻도록 해도 된다. 그리고, 배신 서버(1002)가, 여기에서 얻은 정보를 기초로, 적절한 레이어를 선택하도록 해도 된다.
또한, 레이어의 추출은, 단말 장치에서 행하도록 해도 된다. 예를 들어, 퍼스널 컴퓨터(1004)가, 전송된 스케일러블 부호화 데이터(BL+EL)(1011)를 복호하여, 베이스 레이어의 화상을 표시하여도 되고, 인핸스먼트 레이어의 화상을 표시하여도 된다. 또한, 예를 들어 퍼스널 컴퓨터(1004)가, 전송된 스케일러블 부호화 데이터(BL+EL)(1011)로부터, 베이스 레이어의 스케일러블 부호화 데이터(BL)(1012)를 추출하여 기억하거나, 다른 장치에 전송하거나, 복호하여 베이스 레이어의 화상을 표시하거나 하도록 해도 된다.
물론, 스케일러블 부호화 데이터 기억부 1001, 배신 서버(1002), 네트워크(1003), 및 단말 장치의 수는 모두 임의이다. 또한, 이상에서는, 배신 서버(1002)가 데이터를 단말 장치에 전송하는 예에 대하여 설명하였지만, 이용예는 이에 한정되지 않는다. 데이터 전송 시스템(1000)은, 스케일러블 부호화된 부호화 데이터를 단말 장치에 전송할 때, 단말 장치의 능력이나 통신 환경 등에 따라 적절한 레이어를 선택하여 전송하는 시스템이라면, 임의의 시스템에 적용할 수 있다.
[제2 시스템]
또한, 스케일러블 부호화는, 예를 들어 도 55에 도시된 예와 같이, 복수의 통신 매체를 통한 전송을 위해 이용된다.
도 55에 도시된 데이터 전송 시스템(1100)에 있어서, 방송국(1101)은, 지상파 방송(1111)에 의해, 베이스 레이어의 스케일러블 부호화 데이터(BL)(1121)를 전송한다. 또한, 방송국(1101)은, 유선 혹은 무선 또는 그 양쪽의 통신망을 포함하는 임의의 네트워크(1112)를 통해, 인핸스먼트 레이어의 스케일러블 부호화 데이터(EL)(1122)를 전송한다(예를 들어 패킷화하여 전송함).
단말 장치(1102)는, 방송국(1101)이 방송하는 지상파 방송(1111)의 수신 기능을 갖고, 이 지상파 방송(1111)을 통해 전송되는 베이스 레이어의 스케일러블 부호화 데이터(BL)(1121)를 수취한다. 또한, 단말 장치(1102)는, 네트워크(1112)를 통한 통신을 행하는 통신 기능을 더 갖고, 이 네트워크(1112)를 통해 전송되는 인핸스먼트 레이어의 스케일러블 부호화 데이터(EL)(1122)를 수취한다.
단말 장치(1102)는, 예를 들어 유저 지시 등에 따라, 지상파 방송(1111)을 통해 취득한 베이스 레이어의 스케일러블 부호화 데이터(BL)(1121)를, 복호하여 베이스 레이어의 화상을 얻거나, 기억하거나, 다른 장치에 전송하거나 한다.
또한, 단말(1102)는, 예를 들어 유저 지시 등에 따라, 지상파 방송(1111)을 통해 취득한 베이스 레이어의 스케일러블 부호화 데이터(BL)(1121)와, 네트워크(1112)를 통해 취득한 인핸스먼트 레이어의 스케일러블 부호화 데이터(EL)(1122)를 합성하여, 스케일러블 부호화 데이터(BL+EL)를 얻거나, 그것을 복호하여 인핸스먼트 레이어의 화상을 얻거나, 기억하거나, 다른 장치에 전송하거나 한다.
이상과 같이, 스케일러블 부호화 데이터는, 예를 들어 레이어마다 서로 다른 통신 매체를 통해 전송시킬 수 있다. 따라서, 부하를 분산시킬 수 있어, 지연이나 오버플로우의 발생을 억제할 수 있다.
또한, 상황에 따라, 전송에 사용하는 통신 매체를, 레이어마다 선택할 수 있도록 해도 된다. 예를 들어, 데이터량이 비교적 많은 베이스 레이어의 스케일러블 부호화 데이터(BL)(1121)를 대역폭이 넓은 통신 매체를 통해 전송시키고, 데이터량이 비교적 적은 인핸스먼트 레이어의 스케일러블 부호화 데이터(EL)(1122)를 대역폭이 좁은 통신 매체를 통해 전송시키도록 해도 된다. 또한, 예를 들어 인핸스먼트 레이어의 스케일러블 부호화 데이터(EL)(1122)를 전송하는 통신 매체를, 네트워크(1112)로 할 것인지, 지상파 방송(1111)으로 할 것인지를, 네트워크(1112)의 이용 가능 대역폭에 따라서 전환하도록 해도 된다. 물론, 임의의 레이어의 데이터에 대해서도 마찬가지이다.
이와 같이 제어함으로써, 데이터 전송에서의 부하의 증대를 보다 억제할 수 있다.
물론, 레이어 수는 임의이며, 전송에 이용하는 통신 매체의 수도 임의이다. 또한, 데이터 배신처가 되는 단말 장치(1102)의 수도 임의이다. 또한, 이상에서는, 방송국(1101)으로부터의 방송을 예로 들어 설명하였지만, 이용예는 이에 한정되지 않는다. 데이터 전송 시스템(1100)은, 스케일러블 부호화된 부호화 데이터를, 레이어를 단위로서 복수로 분할하여, 복수의 회선을 통해 전송하는 시스템이라면, 임의의 시스템에 적용할 수 있다.
[제3 시스템]
또한, 스케일러블 부호화는, 예를 들어 도 56에 도시된 예와 같이, 부호화 데이터의 기억에 이용된다.
도 56에 도시한 촬상 시스템(1200)에 있어서, 촬상 장치(1201)는, 피사체 (1211)를 촬상하여 얻어진 화상 데이터를 스케일러블 부호화하고, 스케일러블 부호화 데이터(BL+EL)(1221)로서, 스케일러블 부호화 데이터 기억 장치(1202)에 공급한다.
스케일러블 부호화 데이터 기억 장치(1202)는, 촬상 장치(1201)로부터 공급되는 스케일러블 부호화 데이터(BL+EL)(1221)를, 상황에 따른 품질로 기억한다. 예를 들어, 통상시의 경우, 스케일러블 부호화 데이터 기억 장치(1202)는, 스케일러블 부호화 데이터(BL+EL)(1221)로부터 베이스 레이어의 데이터를 추출하여, 저품질이며 데이터량이 적은 베이스 레이어의 스케일러블 부호화 데이터(BL)(1222)로서 기억한다. 이에 반하여, 예를 들어 주목시의 경우, 스케일러블 부호화 데이터 기억 장치(1202)는, 고품질이며 데이터량이 많은 스케일러블 부호화 데이터(BL+EL)(1221) 그대로 기억한다.
이와 같이 함으로써, 스케일러블 부호화 데이터 기억 장치(1202)는, 필요한 경우에만 화상을 고화질로 보존할 수 있으므로, 화질 열화에 의한 화상의 가치 저감을 억제하면서, 데이터량의 증대를 억제할 수 있어, 기억 영역의 이용 효율을 향상시킬 수 있다.
예를 들어, 촬상 장치(1201)가 감시 카메라인 것으로 하자. 촬상 화상에 감시 대상(예를 들어 침입자)이 찍히지 않은 경우(통상시의 경우), 촬상 화상의 내용은 중요하지 않을 가능성이 높으므로, 데이터량의 저감이 우선되어, 그 화상 데이터(스케일러블 부호화 데이터)는 저품질로 기억된다. 이에 반하여, 촬상 화상에 감시 대상이 피사체(1211)로서 찍혀 있는 경우(주목시의 경우), 그 촬상 화상의 내용은 중요할 가능성이 높으므로, 화질이 우선되어, 그 화상 데이터(스케일러블 부호화 데이터)는 고품질로 기억된다.
또한, 통상시인지 주목시인지는, 예를 들어 스케일러블 부호화 데이터 기억 장치(1202)가, 화상을 해석함으로써 판정하여도 된다. 또한, 촬상 장치(1201)가 판정하여, 그 판정 결과를 스케일러블 부호화 데이터 기억 장치(1202)에 전송하도록 해도 된다.
또한, 통상시인지 주목시인지의 판정 기준은 임의이며, 판정 기준으로 하는 화상의 내용은 임의이다. 물론, 화상의 내용 이외의 조건을 판정 기준으로 할 수도 있다. 예를 들어, 수록한 음성의 크기나 파형 등에 따라서 전환하도록 해도 되고, 소정의 시일마다 전환하도록 해도 되며, 유저 지시 등의 외부로부터의 지시에 의해 전환하도록 해도 된다.
또한, 이상에서는, 통상시와 주목시의 2개의 상태를 전환하는 예를 설명하였지만, 상태의 수는 임의이며, 예를 들어 통상시, 약간 주목시, 주목시, 매우 주목시 등과 같이, 3개 이상의 상태를 전환하도록 해도 된다. 단, 이 전환하는 상태의 상한수는, 스케일러블 부호화 데이터의 레이어 수에 의존한다.
또한, 촬상 장치(1201)가, 스케일러블 부호화의 레이어 수를, 상태에 따라서 결정하도록 해도 된다. 예를 들어, 통상시의 경우, 촬상 장치(1201)가, 저품질이고 데이터량이 적은 베이스 레이어의 스케일러블 부호화 데이터(BL)(1222)를 생성하여, 스케일러블 부호화 데이터 기억 장치(1202)에 공급하도록 해도 된다. 또한, 예를 들어 주목시의 경우, 촬상 장치(1201)가, 고품질이고 데이터량이 많은 베이스 레이어의 스케일러블 부호화 데이터(BL+EL)(1221)를 생성하여, 스케일러블 부호화 데이터 기억 장치(1202)에 공급하도록 해도 된다.
이상에서는, 감시 카메라를 예로 들어 설명하였지만, 이 촬상 시스템(1200)의 용도는 임의이며, 감시 카메라로 한정되지 않는다.
또한, 본 기술은, 미리 준비된 해상도 등이 서로 다른 복수의 부호화 데이터 중에서 적절한 것을 세그먼트 단위로 선택하여 사용하는, 예를 들어 MPEG DASH 등과 같은 HTTP스트리밍에도 적용할 수 있다. 즉, 이와 같은 복수의 부호화 데이터 간에서, 부호화나 복호에 관한 정보를 공유할 수도 있다.
또한, 본 명세서에서는, HRD 파라미터 타입 플래그나 HRD 파라미터, 또는 buffering_period_SEI 및 layer_buffering_period_SEI 등의 각종 정보가, 부호화 스트림에 다중화되어, 부호화측으로부터 복호측으로 전송되는 예에 대하여 설명하였다. 그러나, 이들 정보를 전송하는 방법은 이러한 예에 한정되지 않는다. 예를 들어, 이들 정보는, 부호화 비트 스트림에 다중화되지 않고, 부호화 비트 스트림과 관련지어진 별개의 데이터로서 전송되거나 또는 기록되어도 된다. 여기서, 「관련짓는다」라는 용어는, 비트 스트림에 포함되는 화상(슬라이스 혹은 블록 등, 화상의 일부이어도 됨)과 그 화상에 대응하는 정보를 복호 시에 링크시킬 수 있도록 하는 것을 의미한다. 즉, 정보는, 화상(또는 비트 스트림)과는 다른 전송로 상에서 전송되어도 된다. 또한, 정보는, 화상(또는 비트 스트림)과는 다른 기록 매체(또는 동일한 기록 매체의 다른 기록 에리어)에 기록되어도 된다. 또한, 정보와 화상(또는 비트 스트림)은, 예를 들어 복수 프레임, 1프레임, 또는 프레임 내의 일부분 등의 임의의 단위로 서로 관련지어져도 된다.
이상, 첨부 도면을 참조하면서 본 개시의 바람직한 실시 형태에 대하여 상세히 설명하였지만, 본 개시는 이러한 예에 한정되지 않는다. 본 개시가 속하는 기술분야에서의 통상의 지식을 갖는 사람이라면, 청구범위에 기재된 기술적 사상의 범주 내에서, 각종 변경예 또는 수정예에 상도할 수 있음은 명확하며, 이들에 대해서도, 당연히 본 개시의 기술적 범위에 속하는 것이라고 이해된다.
또한, 본 기술은 이하와 같은 구성도 취할 수 있다.
(1) 적어도 하나의 레이어를 갖는 화상이 부호화된 비트림과, 디코더 버퍼를 관리하는 파라미터가, 그 레이어만의 복호 처리를 행하기 위함인 것, 및 상기 레이어와 그 이하의 레이어를 포함하는 복호 처리를 행하기 위함인 것 중 적어도 하나를 나타내는 레이어마다의 버퍼 관리 파라미터 정보를 수취하는 수취부와,
상기 수취부에 의해 수취된 비트 스트림을 복호하여, 화상을 생성하는 복호부
를 구비하는 화상 처리 장치.
(2) 상기 레이어는, 레이어 및 서브레이어를 포함하는, 상기 (1)에 기재된 화상 처리 장치.
(3) 상기 레이어는, 멀티 뷰 부호화의 뷰인, 상기 (1) 또는 (2)에 기재된 화상 처리 장치.
(4) 상기 레이어는, 스케일러블 부호화의 레이어인, 상기 (1) 또는 (2)에 기재된 화상 처리 장치.
(5) 상기 버퍼 관리 파라미터 정보는, SEI(Supplemental Enhancement Information)에 기술되어 있는, 상기 (1) 내지 (4) 중 어느 하나에 기재된 화상 처리 장치.
(6) 상기 버퍼 관리 파라미터 정보는, buffering_period_SEI에 기술되어 있는, 상기 (1) 내지 (5) 중 어느 하나에 기재된 화상 처리 장치.
(7) 상기 그 레이어만의 복호 처리를 행하기 위한 것인 디코더 버퍼를 관리하는 파라미터의 유무를 나타내는 파라미터 유무 정보는, vps(video parameter set)_extension에 기술되어 있는, 상기 (1) 내지 (4) 중 어느 하나에 기재된 화상 처리 장치.
(8) 상기 수취부는, 상기 그 레이어 이하의 레이어가 AVC(MPEG-4 Part10 Advanced Video Coding) 부호화에 의해 부호화되어 있는 것을 나타내는 AVC 플래그와, 상기 디코더 버퍼를 관리하는 파라미터가, 그 레이어만의 복호 처리를 행하기 위함인 것을 나타내는 레이어마다의 버퍼 관리 파라미터 정보를 수취하는, 상기 (1) 내지 (7) 중 어느 하나에 기재된 화상 처리 장치.
(9) 화상 처리 장치가,
적어도 하나의 레이어를 갖는 화상이 부호화된 비트림과, 디코더 버퍼를 관리하는 파라미터가, 그 레이어만의 복호 처리를 행하기 위함인 것, 및 상기 레이어와 그 이하의 레이어를 포함하는 복호 처리를 행하기 위함인 것 중 적어도 하나를 나타내는 레이어마다의 버퍼 관리 파라미터 정보를 수취하고,
수취된 비트 스트림을 복호하여, 화상을 생성하는, 화상 처리 방법.
(10) 디코더 버퍼를 관리하는 파라미터가, 그 레이어만의 복호 처리를 행하기 위함인 것, 및 상기 레이어와 그 이하의 레이어를 포함하는 복호 처리를 행하기 위함인 것 중 적어도 하나를 나타내는 레이어마다의 버퍼 관리 파라미터 정보를 설정하는 설정부와,
적어도 하나의 레이어를 포함하는 화상을 부호화하여, 비트 스트림을 생성하는 부호화부와,
상기 설정부에 의해 설정된 버퍼 관리 파라미터 정보와, 상기 부호화부에 의해 생성된 비트 스트림을 전송하는 전송부
를 구비하는 화상 처리 장치.
(11) 상기 레이어는, 레이어 및 서브레이어를 포함하는, 상기 (10)에 기재된 화상 처리 장치.
(12) 상기 레이어는, 멀티 뷰 부호화의 뷰인, 상기 (10) 또는 (11)에 기재된 화상 처리 장치.
(13) 상기 레이어는, 스케일러블 부호화의 레이어인, 상기 (10) 또는 (11)에 기재된 화상 처리 장치.
(14) 상기 버퍼 관리 파라미터 정보는, SEI(Supplemental Enhancement Information)에 기술되어 있는, 상기 (10) 내지 (13) 중 어느 하나에 기재된 화상 처리 장치.
(15) 상기 버퍼 관리 파라미터 정보는, buffering_period_SEI에 기술되어 있는, 상기 (10) 내지 (14) 중 어느 하나에 기재된 화상 처리 장치.
(16) 상기 그 레이어만의 복호 처리를 행하기 위한 것인 디코더 버퍼를 관리하는 파라미터의 유무를 나타내는 파라미터 유무 정보는, vps(video parameter set)_extension에 기술되어 있는, 상기 (10) 내지 (13) 중 어느 하나에 기재된 화상 처리 장치.
(17) 상기 설정부는, 상기 그 레이어 이하의 레이어가 AVC(MPEG-4 Part10 Advanced Video Coding) 부호화에 의해 부호화되어 있음을 나타내는 AVC 플래그와, 상기 디코더 버퍼를 관리하는 파라미터가, 그 레이어만의 복호 처리를 행하기 위함인 것을 나타내는 레이어마다의 버퍼 관리 파라미터 정보를 설정하는, 상기 (10) 내지 (16) 중 어느 하나에 기재된 화상 처리 장치.
(18) 화상 처리 장치가,
디코더 버퍼를 관리하는 파라미터가, 그 레이어만의 복호 처리를 행하기 위함인 것, 및 상기 레이어와 그 이하의 레이어를 포함하는 복호 처리를 행하기 위함인 것 중 적어도 하나를 나타내는 레이어마다의 버퍼 관리 파라미터 정보를 설정하고,
적어도 하나의 레이어를 포함하는 화상을 부호화하여, 비트 스트림을 생성하고,
설정된 버퍼 관리 파라미터 정보와, 생성된 비트 스트림을 전송하는, 화상 처리 방법.
100: 스케일러블 부호화 장치
101: 레이어 화상 부호화부
101-1: 베이스 레이어 화상 부호화부
101-2, 101-3: 인핸스먼트 레이어 화상 부호화부
102: 부호화 제어부
116: 가역 부호화부
117: 축적 버퍼
127: HRD 타입 설정부
131: 부분 축적 버퍼
132: 전체 축적 버퍼
141: 계층 HRD 파라미터 산출부
142: 시간 계층 HRD 파라미터 산출부
143: HRD 파라미터 타입 설정부
144: 시간 HRD 파라미터 타입 설정부
200: 스케일러블 복호 장치
201: 레이어 화상 복호부
201-1: 베이스 레이어 화상 복호부
201-2, 201-3: 인핸스먼트 레이어 화상 복호부
202: 복호 제어부
211: 축적 버퍼
212: 가역 복호부
224: HRD 타입 복호부
231: 부분 축적 버퍼
232: 전체 축적 버퍼
241: 계층 HRD 파라미터 감시부
242: 시간 계층 HRD 파라미터 감시부
243: HRD 파라미터 타입 복호부
244: 시간 HRD 파라미터 타입 복호부
301: 가역 부호화부
302: 버퍼링 피리어드 SEI 설정부
311: 관련 파라미터 세트 설정부
312: 계층 세트 버퍼
313: 레이어 버퍼링 피리어드 SEI 설정부
314: 계층마다 파라미터 전송 지정부
351: 가역 복호부
352: 버퍼링 피리어드 SEI 복호부
361: 관련 파라미터 세트 복호부
362: 계층 세트 버퍼
363: 레이어 버퍼링 피리어드 SEI 복호부
364: 계층마다 파라미터 전송 수신부

Claims (18)

  1. 디코더 버퍼를 관리하는 파라미터가, 그 레이어만의 복호 처리를 행하기 위한 파라미터인 것, 및 상기 레이어와 그 이하의 레이어를 포함하는 복호 처리를 행하기 위한 파라미터인 것 중 적어도 하나를 나타내는 정보인 레이어마다의 버퍼 관리 파라미터 정보를 설정하는 설정부와,
    적어도 하나의 레이어를 포함하는 화상을 부호화하고, 비트 스트림을 생성하는 부호화부와,
    상기 설정부에 의해 설정된 상기 버퍼 관리 파라미터 정보와, 상기 부호화부에 의해 생성된 상기 비트 스트림을 전송하는 전송부
    를 구비하는 화상 처리 장치.
  2. 제1항에 있어서,
    상기 레이어는, 서브레이어를 포함하는, 화상 처리 장치.
  3. 제2항에 있어서,
    상기 레이어는, 멀티 뷰 부호화의 뷰인, 화상 처리 장치.
  4. 제2항에 있어서,
    상기 레이어는, 스케일러블 부호화의 레이어인, 화상 처리 장치.
  5. 제1항에 있어서,
    상기 버퍼 관리 파라미터 정보는, SEI(Supplemental Enhancement Information)에 기술되어 있는, 화상 처리 장치.
  6. 제5항에 있어서,
    상기 버퍼 관리 파라미터 정보는, buffering_period_SEI에 기술되어 있는, 화상 처리 장치.
  7. 제1항에 있어서,
    상기 그 레이어만의 복호 처리를 행하기 위한 파라미터인 디코더 버퍼를 관리하는 파라미터의 유무를 나타내는 정보인 파라미터 유무 정보는, vps(video parameter set)_extension에 기술되어 있는, 화상 처리 장치.
  8. 제1항에 있어서,
    상기 설정부는, 상기 그 레이어 이하의 레이어가 AVC(MPEG-4 Part10 Advanced Video Coding) 부호화에 의해 부호화되어 있는 것을 나타내는 AVC 플래그와, 상기 디코더 버퍼를 관리하는 파라미터가, 그 레이어만의 복호 처리를 행하기 위한 파라미터인 것을 나타내는 정보인 레이어마다의 버퍼 관리 파라미터 정보를 설정하는, 화상 처리 장치.
  9. 화상 처리 장치가,
    디코더 버퍼를 관리하는 파라미터가, 그 레이어만의 복호 처리를 행하기 위한 파라미터인 것, 및 상기 레이어와 그 이하의 레이어를 포함하는 복호 처리를 행하기 위한 파라미터인 것 중 적어도 하나를 나타내는 정보인 레이어마다의 버퍼 관리 파라미터 정보를 설정하고,
    적어도 하나의 레이어를 포함하는 화상을 부호화하고, 비트 스트림을 생성하고,
    설정된 상기 버퍼 관리 파라미터 정보와, 생성된 상기 비트 스트림을 전송하는, 화상 처리 방법.
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
KR1020157015965A 2012-12-26 2013-12-16 화상 처리 장치 및 방법 KR102242721B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020217011017A KR102307026B1 (ko) 2012-12-26 2013-12-16 화상 처리 장치 및 방법

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
JP2012283614 2012-12-26
JPJP-P-2012-283614 2012-12-26
JP2013143977 2013-07-09
JPJP-P-2013-143977 2013-07-09
JPJP-P-2013-182993 2013-09-04
JP2013182993 2013-09-04
PCT/JP2013/083559 WO2014103763A1 (ja) 2012-12-26 2013-12-16 画像処理装置および方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020217011017A Division KR102307026B1 (ko) 2012-12-26 2013-12-16 화상 처리 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20150099743A KR20150099743A (ko) 2015-09-01
KR102242721B1 true KR102242721B1 (ko) 2021-04-22

Family

ID=51020851

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020157015965A KR102242721B1 (ko) 2012-12-26 2013-12-16 화상 처리 장치 및 방법
KR1020217011017A KR102307026B1 (ko) 2012-12-26 2013-12-16 화상 처리 장치 및 방법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020217011017A KR102307026B1 (ko) 2012-12-26 2013-12-16 화상 처리 장치 및 방법

Country Status (13)

Country Link
US (2) US10187647B2 (ko)
EP (1) EP2941003B1 (ko)
JP (2) JP6300033B2 (ko)
KR (2) KR102242721B1 (ko)
CN (2) CN105392016B (ko)
AU (2) AU2013367540B2 (ko)
BR (2) BR112015014832A2 (ko)
CA (1) CA2895093A1 (ko)
MX (2) MX353121B (ko)
MY (1) MY186153A (ko)
RU (2) RU2653315C2 (ko)
SG (2) SG11201504698PA (ko)
WO (1) WO2014103763A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6410495B2 (ja) 2014-07-07 2018-10-24 ルネサスエレクトロニクス株式会社 画像符号化装置、画像復号装置、および画像通信システム
JP6448386B2 (ja) * 2015-01-21 2019-01-09 キヤノン株式会社 符号化装置、復号化装置及び映像送受信システム
US10200690B2 (en) * 2015-09-22 2019-02-05 Qualcomm Incorporated Video decoder conformance for high dynamic range (HDR) video coding using a core video standard
EP3445054A4 (en) * 2016-04-12 2019-02-20 Sony Corporation TRANSMISSION DEVICE, TRANSMISSION METHOD, RECEPTION DEVICE AND RECEIVER METHOD
US10218644B1 (en) * 2016-09-21 2019-02-26 Apple Inc. Redundant communication path transmission
CN112534827B (zh) * 2018-08-10 2023-07-14 索尼公司 接收装置、接收方法、发送装置和发送方法
CN112533029B (zh) * 2020-11-17 2023-02-28 浙江大华技术股份有限公司 一种视频分时传输方法、摄像装置、系统和存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002359846A (ja) * 2001-05-31 2002-12-13 Sanyo Electric Co Ltd 画像復号方法および装置
EP1513350A1 (en) * 2003-09-03 2005-03-09 Thomson Licensing S.A. Process and arrangement for encoding video pictures
CA2547891C (en) * 2003-12-01 2014-08-12 Samsung Electronics Co., Ltd. Method and apparatus for scalable video encoding and decoding
WO2005074295A1 (en) * 2004-01-16 2005-08-11 General Instrument Corporation Method, protocol, and apparatus for transporting advanced video coding content
KR100714696B1 (ko) * 2005-06-24 2007-05-04 삼성전자주식회사 다계층 기반의 가중 예측을 이용한 비디오 코딩 방법 및장치
EP2145483B1 (en) 2007-04-17 2020-10-21 InterDigital VC Holdings, Inc. Hypothetical reference decoder for multiview video coding
US20100142613A1 (en) * 2007-04-18 2010-06-10 Lihua Zhu Method for encoding video data in a scalable manner
BR122012013059B1 (pt) * 2007-04-18 2020-09-15 Dolby International Ab Aparelho para processamento de codificação de vídeo de múltiplas vistas
CN101855908B (zh) * 2007-10-15 2012-11-21 高通股份有限公司 用于可缩放视频译码的改进的加强层译码
JP5261774B2 (ja) * 2007-10-25 2013-08-14 日本電信電話株式会社 動画像スケーラブル符号化方法及び復号方法、それらの装置、それらのプログラム並びにプログラムを記録した記録媒体

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
J. Boyce, VPS syntax for scalable and 3D extensions. JCT-VC of ITU-T and ISO/IEC. JCTVC-K0204 Ver.5, Oct. 22, 2012, pp.1-6
K. Sato, On hrd_parameters. JCT-VC of ITU-T and ISO/IEC. JCTVC-L0276 Ver.3, Jan. 15, 2013, pp.1-4
M. M. Hannuksela, et al. AHG9: Operation points in VPS and nesting SEI. JCT-VC of ITU-T and ISO/IEC. JCTVC-K0180 Ver.2, Oct. 14, 2012, pp.1-6

Also Published As

Publication number Publication date
BR122016028746A2 (pt) 2019-08-27
MX367727B (es) 2019-09-04
MX2015007891A (es) 2016-07-15
JP6300033B2 (ja) 2018-03-28
MY186153A (en) 2021-06-28
EP2941003A4 (en) 2016-07-20
CN105392016B (zh) 2019-01-18
KR102307026B1 (ko) 2021-10-01
SG11201504698PA (en) 2015-07-30
US20150312578A1 (en) 2015-10-29
RU2016141278A (ru) 2018-12-14
RU2015124037A (ru) 2017-01-10
AU2017200741A1 (en) 2017-02-23
JP2017076986A (ja) 2017-04-20
EP2941003A1 (en) 2015-11-04
JPWO2014103763A1 (ja) 2017-01-12
SG10201510265XA (en) 2016-01-28
US10187647B2 (en) 2019-01-22
RU2653315C2 (ru) 2018-05-07
US20190068982A1 (en) 2019-02-28
WO2014103763A1 (ja) 2014-07-03
MX353121B (es) 2017-12-20
BR112015014832A2 (pt) 2017-07-11
EP2941003B1 (en) 2021-07-14
AU2013367540B2 (en) 2017-02-02
CN104885461B (zh) 2019-01-08
CA2895093A1 (en) 2014-07-03
KR20150099743A (ko) 2015-09-01
CN105392016A (zh) 2016-03-09
RU2720605C2 (ru) 2020-05-12
US10412397B2 (en) 2019-09-10
JP6300046B2 (ja) 2018-03-28
CN104885461A (zh) 2015-09-02
AU2017200741B2 (en) 2018-01-25
RU2016141278A3 (ko) 2020-02-28
KR20210045502A (ko) 2021-04-26
AU2013367540A1 (en) 2015-06-04

Similar Documents

Publication Publication Date Title
JP6642631B2 (ja) 画像復号装置および方法
JP6300046B2 (ja) 画像処理装置および方法
WO2013137047A1 (ja) 画像処理装置および方法
WO2014050731A1 (ja) 画像処理装置および方法
US9930353B2 (en) Image decoding device and method
WO2014103764A1 (ja) 画像処理装置および方法
WO2014103774A1 (ja) 画像処理装置および方法
WO2014141899A1 (ja) 画像処理装置および方法
WO2015098563A1 (ja) 画像符号化装置および方法、並びに画像復号装置および方法
WO2014156707A1 (ja) 画像符号化装置および方法、並びに、画像復号装置および方法
WO2014156705A1 (ja) 復号装置および復号方法、並びに、符号化装置および符号化方法
WO2014141964A1 (ja) 画像処理装置および方法
WO2014203762A1 (ja) 復号装置および復号方法、並びに、符号化装置および符号化方法

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right