[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

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

화상 처리 장치 및 방법 Download PDF

Info

Publication number
KR20140048885A
KR20140048885A KR1020137033662A KR20137033662A KR20140048885A KR 20140048885 A KR20140048885 A KR 20140048885A KR 1020137033662 A KR1020137033662 A KR 1020137033662A KR 20137033662 A KR20137033662 A KR 20137033662A KR 20140048885 A KR20140048885 A KR 20140048885A
Authority
KR
South Korea
Prior art keywords
unit
offset
image
adaptive offset
color difference
Prior art date
Application number
KR1020137033662A
Other languages
English (en)
Inventor
가즈시 사토
Original Assignee
소니 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 소니 주식회사 filed Critical 소니 주식회사
Publication of KR20140048885A publication Critical patent/KR20140048885A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • 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/1883Methods 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 relating to sub-band structure, e.g. hierarchical level, directional tree, e.g. low-high [LH], high-low [HL], high-high [HH]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

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

Abstract

화상 복호 장치는 휘도 적응 오프셋 처리부 및 색차 적응 오프셋 처리부를 포함한다. 휘도 적응 오프셋 처리부는 복호될 화상의 휘도 신호에 대해 휘도 적응 오프셋 처리를 행한다. 색차 적응 오프셋 처리부는 휘도 적응 오프셋 처리부에 의한 휘도 적응 오프셋 처리에 의해 생성된 데이터에 기초하여 색차 신호에 대해 색차 적응 오프셋 처리를 행하여 복호된 화상을 생성한다.

Description

화상 처리 장치 및 방법{IMAGE PROCESSING DEVICE AND METHOD}
본 출원은 그 전체 내용이 여기에 참고로서 원용되는, 2011년 6월 28일자 일본 특허청에 출원된 일본 우선권 특허 출원 2011-143248호의 35 U.S.C.§119하에서 우선권을 주장하고 그에 기초한 것이다.
본 발명은 화상 처리 장치 및 방법에 관한 것으로, 특히, 색차 신호에 대한 부호화 효율을 향상시킬 수 있도록 한 화상 처리 장치 및 방법에 관한 것이다.
최근, 화상 정보를 디지털로서 취급하고, 이때 효율이 높은 정보의 전송 및 축적을 목적으로 하고, 화상 정보 특유의 용장성(redundancy)을 이용하여, 이산 코사인 변환 등의 직교 변환과 움직임 보상에 의해 압축하는 부호화 방식을 채용함으로써 화상을 압축 부호화하는 장치가 널리 보급되고 있다. 이 부호화 방식에는, 예를 들어, MPEG(Moving Picture Experts Group) 등이 있다.
특히, MPEG2(ISO/IEC 13818-2)는 범용 화상 부호화 방식으로서 정의되어 있고, 비월(interlace) 주사 화상 및 순차(sequential) 주사 화상의 양쪽, 표준 해상도 화상, 및 고정밀 화상을 포함하는 표준이다. 예를 들어, MPEG2는 프로페셔널 용도 및 소비자 용도가 광범위한 어플리케이션으로서 현재 널리 사용되고 있다. MPEG2 압축 방식을 사용함으로써, 예를 들어, 720×480 화소를 갖는 표준 해상도의 비월 주사 화상을 사용하면 4 내지 8Mbps의 부호량(비트 레이트)이 할당된다. 또한, MPEG2 압축 방식을 사용함으로써, 예를 들어, 1920×1088 화소를 갖는 고해상도의 비월 주사 화상을 사용하면 18 내지 22Mbps의 부호량(비트 레이트)이 할당된다. 이에 의해, 높은 압축률과 양호한 화질의 실현이 가능하다.
MPEG2는 주로 방송용에 적합한 고화질 부호화를 대상으로 하고 있지만, MPEG1보다 낮은 부호량(비트 레이트), 즉 보다 높은 압축률의 부호화 방식에는 지원되고 있지 않다. 휴대 단말기의 보급에 의해, 향후 그러한 압축 방식의 요구가 높아진다고 생각되며, 이에 따른 MPEG4 부호화 방식의 표준화가 행해지고 있다. 화상 부호화 방식에 관해서는, 1998년 12월에 ISO/IEC 14496-2의 규격이 국제 표준으로 승인되었다.
표준화의 스케줄로서는, 2003년 3월에는 H.264 및 MPEG-4 Part10(Advanced Video Coding, 이하 H.264/AVC라고 기재한다)이 국제 표준이 되었다.
또한, H.264/AVC의 확장으로서 RGB, 4:2:2, 및 4:4:4이라고 한 업무용에 필요한 부호화 툴, 및 MPEG-2로 규정된 8x8 DCT 및 양자화 매트릭스를 포함하는 FRExt(Fidelity Range Extension)의 표준화가 2005년 2월에 완료되었다. 이에 의해, FRExt는 H.264/AVC를 사용하여 영화에 포함되는 필름 노이즈도 양호하게 표현하는 것이 가능한 부호화 방식이 되고, Blu-Ray Disc(등록 상표) 등의 폭넓은 어플리케이션에 사용되는 단계가 되었다.
그러나, 요즘, 하이비전 화상의 4배인 4000×2000 화소 정도의 화상을 압축하고 인터넷과 같은 한정된 전송 용량의 환경에서 하이비전 화상을 배신(distribution)하는 등의 한층 더 높은 압축률 부호화에 대한 요구가 높아지고 있다. 이로 인해, 상술한 것과 같은 ITU-T 산하의 VCEG(=Video Coding Experts Group)에서 부호화 효율의 개선에 관한 검토가 계속 행해지고 있다.
부호화 효율 개선의 하나로서, 움직임 보상 루프 내에 FIR 필터를 갖는 방법이 제안되어 있다(예를 들어, 비특허 문헌 1 참조). 부호화 장치에서 이 FIR 필터 계수를, FIR 필터와 입력 화상 간의 오차를 최소로 하도록 위너 필터(Wiener Filter)를 사용하여 구함으로써, 참조 화상의 열화를 최소한으로 억제하고, 출력이 되는 화상 압축 정보의 부호화 효율을 향상시키는 것이 가능하다.
그리고, 현재, H.264/AVC를 사용하여 부호화 효율을 더 향상시키는 목적으로, ITU-T와 ISO/IEC의 공동의 표준화 단체인 JCTVC(Joint Collaboration Team - Video Coding)에 의해 HEVC(High Efficiency Video Coding)이라고 불리는 부호화 방식의 표준화가 진행되고 있다. HEVC에서는 드래프트로서 비특허 문헌 2가 발행되어 있다.
HEVC에서는 AVC에서의 매크로 블록과 동일한 처리 단위로서 코딩 유닛(CU(Coding Unit))이 정의되어 있다. 이 CU는 AVC의 매크로 블록과 같이 크기가 16×16 화소로 고정되지 않고, 각각의 시퀀스에서 화상 압축 정보 중에서 지정된다.
CU는 최대의 LCU(Largest Coding Unit)로부터 최소의 SCU(Smallest Coding Unit )까지 계층적으로 구성된다. 즉, 일반적으로, LCU가 AVC의 매크로 블록에 상당하고, 그 LCU보다 아래의 계층의 CU(LCU보다 작은 CU)가 AVC의 서브매크로 블록에 상당한다고 생각할 수 있다.
그런데, HEVC에서는, 비특허 문헌 3에서 제안된 적응 오프셋 필터라고 하는 방법이 채용되어 있다. HEVC에서 적응 오프셋 필터는 디블록 필터와 적응 루프 필터 사이에 설치된다.
적응 오프셋의 종류로서는, 밴드 오프셋(band offset)이라고 불리는 것이 2종류, 에지 오프셋(edge offset)이라고 불리는 것이 6종류 있고, 또한, 오프셋을 적응시키지 않는 것(no offset)도 가능하다. 그리고, 화상을 쿼드 트리(quad-tree)로 분할하고, 각각의 영역에, 상술한 어느 적응 오프셋의 종류를 사용하여 부호화할지를 선택할 수 있다. 이 방법을 사용함으로써 부호화 효율을 향상시킬 수 있다.
Takeshi Chujoh, Goki Yasuda, Naofumi Wada, Takashi Watanabe, Tomoo Yamakage, "Block-based Adaptive Loop Filter", VCEG-AI18, ITU - Telecommunications Standardization Sector STUDY GROUP 16 Question 6Video Coding Experts Group(VCEG) 35th Meeting: Berlin, Germany, 16-18 July, 2008 Thomas Wiegand, Woo-jin Han, Benjamin Bross, Jens-Rainer Ohm, Gary J. Sullivian, "WD3:Working Draft3 of High-Efficiency Video Coding", JCTVc-E603, 2011년 3월 "CE8 Subtest 3:Picture Quality Adaptive Offset", JCTVC-D122, 2011년 1월
그러나, 비특허 문헌 3에서 제안된 방법은 휘도 신호에 대하여만 적용되고 색차 신호에는 적용되어 있지 않다. 따라서, 색차 신호에 대한 지원이 필요하다.
본 발명은 이러한 상황을 감안하여 이루어진 것이며, 색차 신호에 대한 부호화 효율을 향상시킬 수 있다.
본 발명은 화상 복호 및 부호화 장치, 및 화상 복호 및 부호화 방법을 폭넓게 포함한다. 일 실시 형태에서, 화상 복호 장치는 휘도 적응 오프셋 처리부 및 색차 적응 오프셋 처리부를 포함한다. 휘도 적응 오프셋 처리부는 복호될 화상의 휘도 신호에 대해 휘도 적응 오프셋 처리를 행한다. 색차 적응 오프셋 처리부는 휘도 적응 오프셋 처리부에 의한 휘도 적응 오프셋 처리에 의해 생성된 데이터에 기초하여 색차 신호에 대해 색차 적응 오프셋 처리를 행하여 복호된 화상을 생성한다.
도 1은 H.264/AVC 방식의 화상 부호화 장치의 주된 구성예를 도시하는 블록도.
도 2는 H.264/AVC 방식의 화상 복호 장치의 주된 구성예를 도시하는 블록도.
도 3은 적응 루프 필터를 적용한 화상 부호화 장치의 주된 구성예를 도시하는 블록도.
도 4는 적응 루프 필터를 적용한 화상 복호 장치의 주된 구성예를 도시하는 블록도.
도 5는 디블록 필터의 동작 원리를 설명하는 도면.
도 6은 Bs의 정의의 방법을 설명하는 도면.
도 7은 디블록 필터의 동작 원리를 설명하는 도면.
도 8은 indexA 및 indexB와 α 및 β의 값의 대응 관계의 예를 나타내는 도.
도 9는 Bs 및 indexA와 tC0의 대응 관계의 예를 나타내는 도.
도 10은 코딩 유닛의 구성예를 설명하는 도면.
도 11은 HEVC 방식에서의 적응 오프셋 처리를 설명하는 도면.
도 12는 쿼드 트리 구조를 설명하는 도면.
도 13은 밴드 오프셋을 설명하는 도면.
도 14는 에지 오프셋을 설명하는 도면.
도 15는 에지 오프셋의 규칙 일람표를 도시하는 도면.
도 16은 본 발명의 화상 부호화 장치의 주된 구성예를 도시하는 블록도.
도 17은 적응 오프셋부 및 색차 적응 오프셋부의 구성예를 도시하는 도면.
도 18은 부호화 처리의 흐름의 예를 설명하는 흐름도.
도 19는 적응 오프셋 처리의 흐름의 예를 설명하는 흐름도.
도 20은 화상 복호 장치의 주된 구성예를 도시하는 블록도.
도 21은 적응 오프셋부 및 색차 적응 오프셋부의 구성예를 도시하는 블록도.
도 22는 복호 처리의 흐름의 예를 설명하는 흐름도.
도 23은 적응 오프셋 처리의 흐름의 예를 설명하는 흐름도.
도 24는 퍼스널 컴퓨터의 주된 구성예를 도시하는 블록도.
도 25는 텔레비전 장치의 개략적인 구성의 일례를 나타내는 블록도.
도 26은 휴대 전화기의 개략적인 구성의 일례를 나타내는 블록도.
도 27은 기록 재생 장치의 개략적인 구성의 일례를 나타내는 블록도.
도 28은 촬상 장치의 개략적인 구성의 일례를 나타내는 블록도.
이하, 본 발명을 실시하기 위한 실시 형태에 대해서 설명한다. 또한, 설명은 이하의 순서로 행한다.
1. 제1 실시 형태(화상 부호화 장치)
2. 제2 실시 형태(화상 복호 장치)
3. 제3 실시 형태(퍼스널 컴퓨터)
4. 제4 실시 형태(텔레비전 수상기)
5. 제5 실시 형태(휴대 전화기)
6. 제6 실시 형태(하드 디스크 레코더)
7. 제7 실시 형태(카메라)
<1. 제1 실시 형태>
<H.264/AVC 방식의 화상 부호화 방법>
도 1은 H.264 및 MPEG(Moving Picture Experts Group) 4 Part 10(AVC(Advanced Video Coding)) 부호화 방식을 사용하여 화상을 부호화하는 화상 부호화 장치의 일 실시 형태의 구성을 나타내고 있다. 이하, H.264 및 MPEG 부호화 방식을 H.264/AVC 방식이라고 칭한다.
도 1의 예에서, 화상 부호화 장치(1)는 A/D 변환부(11), 화면 재배열 버퍼(12), 연산부(13), 직교 변환부(14), 양자화부(15), 가역(lossless) 부호화부(16), 축적 버퍼(17), 역양자화부(18), 역직교 변환부(19), 및 연산부(20)를 포함하도록 구성되어 있다. 또한, 화상 부호화 장치(1)는 디블록 필터(21), 프레임 메모리(22), 선택부(23), 인트라 예측부(24), 움직임 예측 및 보상부(25), 예측 화상 선택부(26) 및 레이트 제어부(27)도 포함하도록 구성되어 있다.
A/D 변환부(11)는 입력된 화상 데이터를 A/D 변환하여, 화면 재배열 버퍼 (12)에 출력하고, 기억시킨다. 화면 재배열 버퍼(12)는 기억한 표시의 순서의 프레임의 화상을 GOP(Group of Picture) 구조에 따라 부호화를 위한 프레임의 순서대로 재배열한다. 화면 재배열 버퍼(12)는 프레임의 순서를 재배열한 화상을 연산부(13)에 공급한다. 또한, 화면 재배열 버퍼(12)는 프레임의 순서를 재배열한 화상을 인트라 예측부(24) 및 움직임 예측 및 보상부(25)에도 공급한다.
연산부(13)는 화면 재배열 버퍼(12)로부터 판독된 화상으로부터 예측 화상 선택부(26)를 통해서 인트라 예측부(24) 또는 움직임 예측 및 보상부(25)로부터 공급되는 예측 화상을 감산하고, 그 차분 정보를 직교 변환부(14)에 출력한다.
예를 들어, 인트라 부호화가 행해지는 화상의 경우, 연산부(13)는 화면 재배열 버퍼(12)로부터 판독된 화상으로부터 인트라 예측부(24)로부터 공급되는 예측 화상을 감산한다. 또한, 예를 들어, 인터 부호화가 행해지는 화상의 경우, 연산부 (13)는 화면 재배열 버퍼(12)로부터 판독된 화상으로부터 움직임 예측 및 보상부 (25)로부터 공급되는 예측 화상을 감산한다.
직교 변환부(14)는 연산부(13)로부터 공급되는 차분 정보에 대하여 이산 코사인 변환, 카루넨 루베(Karhunen Loeve) 변환 등의 직교 변환을 실시하고, 그 변환 계수를 양자화부(15)에 공급한다.
양자화부(15)는 직교 변환부(14)가 출력하는 변환 계수를 양자화한다. 양자화부(15)는 레이트 제어부(27)로부터 공급되는 부호량의 목표값에 관한 정보에 기초하여 양자화 파라미터를 설정하고 양자화를 행한다. 양자화부(15)는 양자화된 변환 계수를 가역 부호화부(16)에 공급한다.
가역 부호화부(16)는 양자화된 변환 계수에 대하여 가변 길이 부호화 또는 산술 부호화 등의 가역 부호화를 실시한다. 계수 데이터는 레이트 제어부(27)의 제어 하에서 양자화되므로, 이 부호량은 레이트 제어부(27)가 설정한 목표값이 된다(또는 목표값에 근사한다).
가역 부호화부(16)는 인트라 예측을 나타내는 정보 등을 인트라 예측부(24)로부터 취득하고 인터 예측 모드를 나타내는 정보, 움직임 벡터 정보 등을 움직임 예측 및 보상부(25)로부터 취득한다. 또한, 인트라 예측(화면 내 예측)을 나타내는 정보는 이하 인트라 예측 모드 정보라고도 칭한다. 또한, 인터 예측(화면간 예측)을 나타내는 정보 모드를 나타내는 정보는 이하 인터 예측 모드 정보라고도 칭한다.
가역 부호화부(16)는 양자화된 변환 계수를 부호화하고, 필터 계수, 인트라 예측 모드 정보, 인터 예측 모드 정보, 및 양자화 파라미터 등의 각종 정보를 부호화 데이터의 헤더 정보의 일부로 설정한다(다중화한다). 가역 부호화부(16)는 부호화해서 얻어진 부호화 데이터를 축적 버퍼(17)에 공급해서 축적시킨다.
예를 들어, 가역 부호화부(16)에서는, 가변 길이 부호화 또는 산술 부호화 등의 가역 부호화 처리가 행해진다. 가변 길이 부호화로서는, H.264/AVC 방식을 사용하여 정해지는 CAVLC(Context-Adaptive Variable Length Coding) 등을 들 수 있다. 산술 부호화로서는, CABAC(Context-Adaptive Binary Arithmetic Coding) 등을 들 수 있다.
축적 버퍼(17)는 가역 부호화부(16)로부터 공급된 부호화 데이터를 일시적으로 유지하고, 소정의 타이밍에서, H.264/AVC 방식을 사용하여 부호화된 부호화 화상으로서, 예를 들어, 도시하지 않았지만 후단의 기록 장치 또는 전송로에 출력한다.
또한, 양자화부(15)에서 양자화된 변환 계수는 역양자화부(18)에도 공급된다. 역양자화부(18)는 양자화된 변환 계수를 양자화부(15)에 의한 양자화에 대응하는 방법을 사용하여 역양자화한다. 양자화부(18)는 얻어진 변환 계수를 역직교 변환부(19)에 공급한다.
역직교 변환부(19)는 공급된 변환 계수를 직교 변환부(14)에 의한 직교 변환 처리에 대응하는 방법을 사용하여 역직교 변환한다. 역직교 변환된 출력(복원된 차분 정보)는 연산부(20)에 공급된다.
연산부(20)는 역직교 변환부(19)로부터 공급된 역직교 변환 결과, 즉, 복원된 차분 정보에 예측 화상 선택부(26)를 통해서 인트라 예측부(24) 또는 움직임 예측 및 보상부(25)로부터 공급되는 예측 화상을 가산하고 국부적으로 복호된 화상(복호 화상)을 얻는다.
예를 들어, 차분 정보가 인트라 부호화가 행해지는 화상에 대응하는 경우, 연산부(20)는 그 차분 정보에 인트라 예측부(24)로부터 공급되는 예측 화상을 가산한다. 또한, 예를 들어, 차분 정보가 인터 부호화가 행해지는 화상에 대응하는 경우, 연산부(20)는 그 차분 정보에 움직임 예측 및 보상부(25)로부터 공급되는 예측 화상을 가산한다.
그 가산 결과는 디블록 필터(21) 또는 프레임 메모리(22)에 공급된다.
디블록 필터(21)는 적절히 디블록 필터 처리를 행함으로써 복호 화상의 블록 왜곡을 제거한다. 디블록 필터(21)는 그 필터 처리 결과를 프레임 메모리(22)에 공급한다. 또한, 연산부(20)로부터 출력되는 복호 화상은 디블록 필터(21)를 통하지 않고 프레임 메모리(22)에 공급될 수 있다. 즉, 디블록 필터(21)의 디블록 필터 처리는 생략할 수 있다.
프레임 메모리(22)는 공급되는 복호 화상을 기억하고, 소정의 타이밍에서 기억하고 있는 복호 화상을 참조 화상으로서 선택부(23)를 통해서 인트라 예측부(24) 또는 움직임 예측 및 보상부(25)에 출력한다.
예를 들어, 인트라 부호화가 행해지는 화상의 경우, 프레임 메모리(22)는 참조 화상을 선택부(23)를 통해서 인트라 예측부(24)에 공급한다. 또한, 예를 들어, 인터 부호화가 행해지는 경우, 프레임 메모리(22)는 참조 화상을 선택부(23)를 통해서 움직임 예측 및 보상부(25)에 공급한다.
선택부(23)는 프레임 메모리(22)로부터 공급되는 참조 화상이 인트라 부호화가 행해지는 화상일 경우, 그 참조 화상을 인트라 예측부(24)에 공급한다. 또한, 선택부(23)는 프레임 메모리(22)로부터 공급되는 참조 화상이 인터 부호화가 행해지는 화상일 경우, 그 참조 화상을 움직임 예측 및 보상부(25)에 공급한다.
인트라 예측부(24)는 선택부(23)를 통해서 프레임 메모리(22)로부터 공급되는 처리 대상 픽처 내의 화소값을 사용하여 예측 화상을 생성하는 인트라 예측(화면 내 예측)을 행한다. 인트라 예측부(24)는 미리 준비된 복수의 모드(인트라 예측 모드)를 사용하여 이 인트라 예측을 행한다.
H.264/AVC 방식에서, 휘도 신호에 대하여는 인트라 4×4 예측 모드, 인트라 8×8 예측 모드, 및 인트라 16×16 예측 모드가 정의되어 있다. 또한, 색차 신호에 관해서는 각각의 매크로 블록마다 휘도 신호와는 독립한 예측 모드를 정의하는 것이 가능하다. 인트라 4×4 예측 모드에 대해서는, 각각의 4×4 휘도 블록에 대하여, 인트라 8×8 예측 모드에 대해서는, 각각의 8×8 휘도 블록에 대하여, 1개의 인트라 예측 모드가 정의된다. 인트라 16×16 예측 모드 및 색차 신호에 대하여는, 1개의 매크로 블록에 대하여, 각각 1개의 예측 모드가 정의된다.
인트라 예측부(24)는 후보로서 모든 인트라 예측 모드를 사용하여 예측 화상을 생성하고, 화면 재배열 버퍼(12)로부터 공급되는 입력 화상을 사용하여 각 예측 화상의 코스트 함수값을 평가하고, 최적인 모드를 선택한다. 인트라 예측부(24)는, 최적인 인트라 예측 모드를 선택하면, 그 최적인 모드를 사용하여 생성된 예측 화상을 예측 화상 선택부(26)를 통해서 연산부(13) 또는 연산부(20)에 공급한다.
또한, 상술한 바와 같이, 인트라 예측부(24)는 채용된 인트라 예측 모드를 나타내는 인트라 예측 모드 정보 등의 정보를 적절히 가역 부호화부(16)에 공급한다.
움직임 예측 및 보상부(25)는 인터 부호화가 행해지는 화상에 대해서 화면 재배열 버퍼(12)로부터 공급되는 입력 화상과 선택부(23)를 통해서 프레임 메모리(22)로부터 공급되는 참조 화상을 사용하여 움직임 예측(인터 예측)을 행한다. 움직임 예측 및 보상부(25)는 검출된 움직임 벡터에 따라서 움직임 보상 처리를 행하고, 예측 화상(인터 예측 화상 정보)을 생성한다. 움직임 예측 및 보상부(25)는 미리 준비된 복수의 모드(인터 예측 모드)를 사용하여 이러한 방식으로 인터 예측을 행한다.
움직임 예측 및 보상부(25)는 후보로서 모든 인터 예측 모드를 사용하여 예측 화상을 생성하고, 각 예측 화상의 코스트 함수값을 평가하고, 최적인 모드를 선택한다. 움직임 예측 및 보상부(25)는 생성된 예측 화상을 예측 화상 선택부(26)를 통해서 연산부(13) 또는 연산부(20)에 공급한다.
또한, 움직임 예측 및 보상부(25)는 채용된 인터 예측 모드를 나타내는 인터 예측 모드 정보와 산출한 움직임 벡터를 나타내는 움직임 벡터 정보를 가역 부호화부(16)에 공급한다.
예측 화상 선택부(26)는, 인트라 부호화를 행하는 화상의 경우, 인트라 예측부(24)의 출력을 연산부(13) 또는 연산부(20)에 공급하고, 인터 부호화를 행하는 화상의 경우, 움직임 예측 및 보상부(25)의 출력을 연산부(13) 또는 연산부(20)에 공급한다.
레이트 제어부(27)는 축적 버퍼(17)에 축적된 압축 화상에 기초하여 오버플로우 또는 언더플로우가 발생하지 않도록 양자화부(15)의 양자화 동작의 레이트를 제어한다.
<H.264/AVC 방식의 화상 복호 장치>
도 2는 이산 코사인 변환 또는 카루넨 루베 변환 등의 직교 변환과 움직임 보상에 의해 화상 압축을 실현하는 화상 복호 장치의 주된 구성예를 도시하는 블록도이다. 도 2에 도시되는 화상 복호 장치(31)는 도 1의 화상 부호화 장치(1)에 대응하는 복호 장치이다.
화상 부호화 장치(1)에 의해 부호화된 부호화 데이터는, 예를 들어, 전송로 또는 기록 매체 등 임의의 경로를 통하여 이 화상 부호화 장치(1)에 대응하는 화상 복호 장치(31)에 공급되어 그에 의해 복호된다.
도 2에 도시된 바와 같이, 화상 복호 장치(31)는 축적 버퍼(41), 가역 복호부(42), 역양자화부(43), 역직교 변환부(44), 연산부(45), 디블록 필터(46), 화면 재배열 버퍼(47), 및 D/A 변환부(48)를 포함하도록 구성된다. 또한, 화상 복호 장치(31)는 프레임 메모리(49), 선택부(50), 인트라 예측부(51), 움직임 보상부(52), 및 화상 선택부(53)를 갖는다.
축적 버퍼(41)는 전송되어 온 부호화 데이터를 축적한다. 이 부호화 데이터는 화상 부호화 장치(1)를 사용하여 부호화된다. 가역 복호부(42)는 축적 버퍼(41)로부터 소정의 타이밍에 판독된 부호화 데이터를 도 1의 가역 부호화부(16)의 부호화 방식을 사용하여 복호한다.
또한, 이 프레임이 인트라 부호화된 것인 경우, 부호화 데이터의 헤더부에는 인트라 예측 모드 정보가 저장된다. 가역 복호부(42)는 이 인트라 예측 모드 정보를 복호하고, 그 정보를 인트라 예측부(51)에 공급한다. 이에 대해, 이 프레임이 인터 부호화된 것인 경우, 부호화 데이터의 헤더부에는 움직임 벡터 정보가 저장된다. 가역 복호부(42)는 이 움직임 벡터 정보를 복호하고, 그 정보를 움직임 보상부(52)에 공급한다.
역양자화부(43)는 가역 복호부(42)를 사용하여 복호되어서 얻어진 계수 데이터(양자화 계수)를 도 1의 양자화부(15)의 양자화 방식에 대응하는 방식을 사용하여 역양자화한다. 즉, 역양자화부(43)는 도 1의 역양자화부(18)와 동일한 방법으로 양자화 계수의 역양자화를 행한다.
역양자화부(43)는 역양자화된 계수 데이터, 즉, 직교 변환 계수를 역직교 변환부(44)에 공급한다. 역직교 변환부(44)는 도 1의 직교 변환부(14)의 직교 변환 방식에 대응하는 방식(도 1의 역직교 변환부(19)과 동일한 방식)을 사용하여 그 직교 변환 계수를 역직교 변환하고, 화상 부호화 장치(1)에서 직교 변환되기 전의 잔차 데이터에 대응하는 복호 잔차 데이터를 얻는다. 예를 들어, 4차의 역직교 변환이 실시된다.
역직교 변환되어서 얻어진 복호 잔차 데이터는 연산부(45)에 공급된다. 또한, 연산부(45)에는 화상 선택부(53)를 통하여 인트라 예측부(51) 또는 움직임 보상부(52)로부터 예측 화상이 공급된다.
연산부(45)는 그 복호 잔차 데이터와 예측 화상을 가산하고, 화상 부호화 장치(1)의 연산부(13)를 사용하여 예측 화상이 감산되기 전의 화상 데이터에 대응하는 복호 화상 데이터를 얻는다. 연산부(45)는 그 복호 화상 데이터를 디블록 필터(46)에 공급한다.
디블록 필터(46)는 공급된 복호 화상의 블록 왜곡을 제거한 후 화면 재배열 버퍼(47)에 공급한다.
화면 재배열 버퍼(47)는 화상의 재배열을 행한다. 즉, 도 1의 화면 재배열 버퍼(12)에 의해 부호화의 순서를 위해서 재배열된 프레임의 순서가 원래의 표시의 순서대로 재배열된다. D/A 변환부(48)는 화면 재배열 버퍼(47)로부터 공급된 화상을 D/A 변환하고, 도시하지 않은 디스플레이에 출력하고, 표시시킨다.
디블록 필터(46)의 출력은 또한 프레임 메모리(49)에 공급된다.
프레임 메모리(49), 선택부(50), 인트라 예측부(51), 움직임 보상부(52), 및 화상 선택부(53)는 도 1의 프레임 메모리(22), 선택부(23), 인트라 예측부(24), 움직임 예측 및 보상부(25), 및 예측 화상 선택부(26)에 각각 대응한다.
선택부(50)는 인터 처리되는 화상과 참조되는 화상을 프레임 메모리(49)로부터 판독하고 움직임 보상부(52)에 공급한다. 또한, 선택부(50)는 인트라 예측에 사용되는 화상을 프레임 메모리(49)로부터 판독하고 인트라 예측부(51)에 공급한다.
인트라 예측부(51)에는, 헤더 정보를 복호해서 얻어진 인트라 예측 모드를 나타내는 정보 등이 가역 복호부(42)로부터 적절히 공급된다. 인트라 예측부(51)는 이 정보에 기초하여 프레임 메모리(49)로부터 취득한 참조 화상으로부터 예측 화상을 생성하고, 생성한 예측 화상을 화상 선택부(53)에 공급한다.
움직임 보상부(52)는 헤더 정보를 복호해서 얻어진 정보(예측 모드 정보, 움직임 벡터 정보, 참조 프레임 정보, 플래그 및 각종 파라미터 등)을 가역 복호부 (42)로부터 취득한다.
움직임 보상부(52)는 가역 복호부(42)로부터 공급되는 정보에 기초하여 프레임 메모리(49)로부터 취득한 참조 화상으로부터 예측 화상을 생성하고, 생성한 예측 화상을 화상 선택부(53)에 공급한다.
화상 선택부(53)는 움직임 보상부(52) 또는 인트라 예측부(51)에 의해 생성된 예측 화상을 선택하고 연산부(45)에 공급한다.
<적응 루프 필터의 상세>
이어서, 특허 문헌 1에 제안되어 있는 적응 루프 필터(ALF(Adaptive Loop Filter))에 대해서 설명한다.
도 3은 적응 루프 필터를 적용한 화상 부호화 장치의 구성예를 도시하는 블록도이다. 또한, 도 3의 예에서, 설명의 편의상, 도 1의 A/D 변환부(11), 화면 재배열 버퍼(12), 축적 버퍼(17), 선택부(23), 인트라 예측부(24), 예측 화상 선택부(26), 및 레이트 제어부(27)는 생략되어 있다. 또한, 화살표 등도 적절히 생략되어 있다. 따라서, 도 3의 예의 경우, 프레임 메모리(22)로부터의 참조 화상은 움직임 예측 및 보상부(25)에 직접 입력되어 움직임 예측 및 보상부(25)로부터의 예측 화상은 연산부(13 및 20)에 직접 입력된다.
즉, 도 3의 화상 부호화 장치(61)는 디블록 필터(21)와 프레임 메모리(22) 사이에 적응 루프 필터(71)가 추가된 점만이 도 1의 화상 부호화 장치(1)와 상이하다.
적응 루프 필터(71)는 화면 재배열 버퍼(12)(도시는 생략)로부터의 원 화상과의 잔차를 최소로 하도록 적응 루프 필터 계수의 산출을 행하고 이 적응 루프 필터 계수를 사용하여 디블록 필터(21)로부터의 복호 화상에 필터 처리를 행한다. 이 필터로서, 예를 들어, 위너 필터가 사용된다.
또한, 적응 루프 필터(71)는 산출한 적응 루프 필터 계수를 가역 부호화부 (16)에 보낸다. 가역 부호화부(16)에서는, 이 적응 루프 필터 계수를 가변 길이 부호화 또는 산술 부호화라고 하는 가역 부호화 처리하고, 압축 화상의 헤더부에 삽입한다.
도 4는 도 3의 화상 부호화 장치에 대응하는 화상 복호 장치의 구성예를 도시하는 블록도이다. 또한, 도 4의 예에서, 설명의 편의상, 도 2의 축적 버퍼 (41), 화면 재배열 버퍼(47), D/A 변환부(48), 선택부(50), 인트라 예측부(51), 및 화상 선택부(53)는 생략되어 있다. 또한, 화살표 등도 적절히 생략되어 있다. 따라서, 도 4의 예의 경우, 프레임 메모리(49)로부터의 참조 화상은 움직임 보상부(52)에 직접 입력되어 움직임 보상부(52)로부터의 예측 화상은 연산부(45)에 직접 출력된다.
즉, 도 4의 화상 복호 장치(81)는 디블록 필터(46)와 프레임 메모리(49) 사이에 적응 루프 필터(91)가 추가된 점만이 도 2의 화상 복호 장치(31)와 상이하다.
적응 루프 필터(91)에는 가역 복호부(42)로부터 복호되어 헤더로부터 추출된 적응 루프 필터 계수가 공급된다. 적응 루프 필터(91)는 공급된 필터 계수를 사용하여 디블록 필터(46)로부터의 복호 화상에 필터 처리를 행한다. 이 필터로서, 예를 들어, 위너 필터가 사용된다.
이에 의해, 복호 화상의 화질을 향상시키고, 또한, 참조 화상의 화질도 향상시킬 수 있다.
<디블록 필터>
이어서, H.264/AVC 필터에서의 디블록 필터에 대해서 설명한다. 디블록 필터(21)는 움직임 보상 루프 내에 포함되고 복호 화상에서의 블록 왜곡, 즉, 처리 단위의 영역의 왜곡을 제거한다. 이에 의해, 움직임 보상 처리를 사용하여, 참조되는 화상에의 블록 왜곡의 전파가 억제된다.
디블록 필터의 처리로서는, 부호화 데이터에 포함되는, Picture Parameter Set RBSP(Raw Byte Sequence Payload)에 포함되는 deblocking_filter_control_present_flag 및 슬라이스 헤더(slice header)에 포함되는 disable_deblocking_filter_idc의 2개의 파라미터를 사용하여, 이하의 (a) 내지 (c)의 방법이 선택 가능하다.
(a) 블록 경계 및 매크로 블록 경계에 실시한다
(b) 매크로 블록 경계에만 실시한다
(c) 실시하지 않는다
양자화 파라미터 QP에 대해서는, 이하의 처리를 휘도 신호에 대하여 적용하는 경우에는 QPY를 사용하고, 색차 신호에 대하여 적용하는 경우에는 QPC를 사용한다. 또한, 움직임 벡터 부호화, 인트라 예측, 엔트로피 부호화(CAVLC/CABAC)에서는, 다른 슬라이스에 속하는 화소값은 "not available"로서 처리한다. 그러나, 디블록 필터 처리에서는, 다른 슬라이스에 속하는 화소값에서도, 동일한 픽처에 속하는 경우에는 "available"이라고 처리를 행한다.
이하에서는, 도 5에 도시한 바와 같이, 디블록 필터 처리 전의 화소값을 p0 내지 p3, q0 내지 q3으로 하고, 처리 후의 화소값을 p0'∼p3' 및 q0'∼q3'로 한다.
우선, 디블록 필터 처리에 앞서, 도 5에서의 p 및 q에 대하여, 도 6에 나타나는 표와 같이, 블록 경계 강도 데이터인 Bs(Boundary Strength)가 정의된다.
도 6에 도시한 바와 같이, Bs는, 화소 p 또는 화소 q 중 어느 한쪽이 인트라 부호화되는 매크로 블록에 속하고, 이 화소가 매크로 블록의 경계에 위치하는 경우에, 가장 필터 강도가 높은 "4"가 할당된다.
Bs는, 화소 p 또는 화소 q 중 어느 한쪽이 인트라 부호화되는 매크로 블록에 속하고, 이 화소가 매크로 블록의 경계에 위치하지 않는 경우에, "4"의 다음에 필터 강도가 높은 "3"이 할당된다.
Bs는, 화소 p 및 화소 q의 양쪽이 인트라 부호화되는 매크로 블록에 속하고, 어느 쪽 하나의 화소가 변환 계수를 갖는 경우에, "3"의 다음에 필터 강도가 높은 "2"가 할당된다.
Bs는, 화소 p 및 화소 q의 양쪽이 인트라 부호화되는 매크로 블록에 속하는 것이 아니고, 어느 쪽의 화소도 변환 계수를 갖지 않는 조건인 경우에 만족하고, 참조 프레임이 상이하던지, 참조 프레임의 매수가 상이하던지, 또는 움직임 벡터가 상이하던지 어느 쪽 하나의 조건을 만족시키는 경우에, "1"이 할당된다.
Bs는, 화소 p 및 q의 양쪽이 인트라 부호화되는 매크로 블록에 속하는 것이 아니고, 어느 쪽의 화소도 변환 계수를 갖지 않고, 참조 프레임 및 움직임 벡터가 동일한 경우, "0"이 할당된다. 또한, "0"은 필터 처리를 행하지 않는 것을 의미한다.
도 5에서의 (p2,p1,p0,q0,q1,q2)에 대해서는, 이하의 식(1) 및 식(2)에 의해 나타나는 조건이 성립하는 경우만, 디블록 필터 처리가 실시된다.
Bs > 0 …(1)
|p0-q0| <α; |p1-p0| <β;|q1-q1| <β …(2)
식(2)의 α 및 β는 디폴트에서는 이하와 같이 QP에 따라서 그 값이 정해져 있지만, 부호화 데이터의, 슬라이스 헤더에 포함되는, slice_alpha_c0_offset_div2 및 slice_beta_offset_div2의 2개의 파라미터에 의해, 그래프의 화살표와 같이, 유저가 그 강도를 조정하는 것이 가능하다.
또한, 도 7은 QP와 임계값 α 간의 관계를 나타내고 있고, QP에 오프셋량을 첨가하면, QP와 임계값 α 간의 관계를 나타내는 곡선이 화살표의 방향으로 이동하는 점으로부터 필터 강도가 조정된다는 것이 명백하다.
또한, 임계값 α는 인접하는 블록 P와 블록 Q의 각각의 양자화 파라미터 qPp 및 qPq를 사용하여, 다음의 식(3) 및 식(4)로부터 indexA를 산출함으로써, 도 8의 A에 나타내는 테이블로부터 구해진다. 동일한 방식으로, 임계값 b는 인접하는 블록 P와 블록 Q의 각각의 양자화 파라미터 qPp 및 qPq를 사용하여, 식(3) 및 식(5)로부터 indexB을 산출함으로써, 도 8의 B에 나타내는 테이블로부터 구해진다. 이 indexA 및 indexB는 이하의 식(3) 내지 식(5)과 같이 정의된다.
qPa ν= (qPp+qPq+1)>> 1 …(3)
indexA=Clip3(0,51,qPa ν+FilterOffsetA) …(4)
indexB=Clip3(0,51,qPa ν+FilterOffsetB) …(5)
식(4) 및 식(5)에서, FilterOffsetA 및 FilterOffsetB는 유저에 의한 조정량에 상당한다.
디블록 필터 처리는 이하에 설명하는 바와 같이 Bs <4의 경우와 Bs=4의 경우로 서로 다른 방법을 정의한다.
우선, Bs <4의 경우, 디블록 필터 처리 후의 화소값 p'0 및 q'0이 이하의 식(6) 내지 식(8)과 같이 구해진다.
Δ=Clip3(-tc, tc ((((q0-p0) <<2)+ (p1-q1)+4)>>3))
···( 6)
p'0=Clip1(p0+Δ) …(7)
q'0=Clip1(q0+Δ) …(8)
여기서, tc는 이하의 식(9) 또는 식(10)에서와 같이 산출된다. 즉, chromaEdgeFlag의 값이 "0"인 경우, tc는 이하의 식(9)과 같이 산출된다.
tc=tc0+((ap <β)?1:0)+ ((aq <β)?1:0) …(9)
또한, chromaEdgeFlag의 값이 "0" 이외인 경우, tc는 이하의 식(10)과 같이 산출된다.
tc=tc0+1 …(10)
tc0의 값은 Bs와 indexA의 값에 따라, 도 9의 A 및 도 9의 B에 나타나는 표와 같이 정의된다.
또한, 식(9)의 ap 및 aq의 값은 이하의 식(11) 및 (12)과 같이 산출된다.
ap=|p2-p0| …(11)
aq=|q2-q0| …(12)
디블록 필터 처리 후의 화소값 p'1은 이하와 같이 구해진다. 즉, chromaEdgeFlag의 값이 "0"이고, ap의 값이 b 이하인 경우, p'1은 이하의 식(13)과 같이 구해진다.
p'1=p1+Clip3(-tc0, tc0, (p2+ ((p0+q0+1)>>1)- (p1 <<1))>>1)
···(13)
또한, 식(13)이 성립하지 않을 경우, p'1은 이하의 식(14)과 같이 구해진다.
p'1=p1 …(14)
디블록 필터 처리 후의 화소값 q'1은 이하와 같이 구해진다. 즉, chromaEdgeFlag의 값이 "0"이고, aq의 값이 b 이하인 경우, q'1은 이하의 식(15)과 같이 구해진다.
q'1=q1+Clip3(-tc0, tc0, (q2+ ((p0+q0+1)>>1)- (q1 <<1))>>1)
···( 15)
또한, 식(15)가 성립하지 않을 경우, q'1은 이하의 식(16)과 같이 구해진다.
q'1=q1… (16)
p'2 및 q'2의 값은 필터링 전의 값 p2 및 q2로부터 변하지 않는다. 즉, p'2는 이하의 식(17)과 같이 구해지고, q'2는 이하의 식(18)과 같이 구해진다.
p'2=p2 …(17)
q'2=q2 …(18)
이어서, Bs=4의 경우, 디블록 필터 후의 화소값 p'i (i=0..2)는 이하와 같이 구해진다. chromaEdgeFlag의 값이 "0"이며, 이하의 식(19)에 나타나는 조건이 성립될 경우, p'0, p'1 및 p'2는 이하의 식(20) 내지 식 (22)과 같이 구해진다.
ap <β&&|p0-q0| <((α>>2)+2) …(19)
p'0= (p2+2×p1+2×p0+2×q0+q1+4)>> 3 …(20)
p'1= (p2+p1+p0+q0+2)>> 2 …(21)
p'2= (2×p3+3×p2+p1+p0+q0+4)>> 3 …(22)
또한, 식(19)에 나타나는 조건이 성립되지 않을 경우, p'0, p'1 및 p'2는 이하의 식(23) 내지 (25)과 같이 구해진다.
p'0= (2×p1+p0+q1+2)>> 2… (23)
p'1=p1 …(24)
p'2=p2 …(25)
디블록 필터 처리 후의 화소값 q'i(i=0..2)는 이하와 같이 구해진다. 즉, chromaEdgeFlag의 값이 "0"이며, 이하의 식(26)에 나타나는 조건이 성립될 경우, q'0, q'1 및 q'2는 이하의 식(27) 내지 (29)과 같이 구해진다.
aq <β&&|p0-q0| <((α>>2)+2) …(26)
q'0= (p1+2×p0+2×q0+2×q1+q2+4)>> 3 …(27)
q'1= (p0+q0+q1+q2+2)>> 2 …(28)
q'2= (2×q3+3×q2+q1+q0+p4+4)>> 3 …(29)
또한, 식(26)에 나타나는 조건이 성립되지 않을 경우, q'0, q'1 및 q'2는 이하의 식(30) 내지 (32)과 같이 구해진다.
q'0= (2×q1+q0+p1+2)>> 2 …(30)
q'1=q1 …(31)
q'2=q2 …(32)
<코스트 함수>
그런데, AVC 부호화 방식에서, 보다 높은 부호화 효율을 달성하는데 있어서는 적절한 예측 모드의 선택이 중요하다.
선택 방식의 예로서, http://iphome.hhi.de/suehring/tml/index.htm 에서 공개되어 있는 JM(Joint Model)이라고 불리는 H.264/MPEG-4 AVC의 참조 소프트웨어를 사용하여 실행되는 방법을 들 수 있다.
JM에서는, 이하에 설명하는 High Complexity Mode와 Low Complexity Mode의 2가지의 모드 판정 방법을 선택하는 것이 가능하다. 어느 방법이나 각각의 예측 모드에 관한 코스트 함수값을 산출하고 이들을 최소로 하는 예측 모드를 이 블록 내지 매크로 블록에 대한 최적 모드로서 선택한다.
High Complexity Mode에서의 코스트 함수는 이하의 식(33)과 같이 된다.
Cost(Mode∈Ω)=D+λ*R ···(33)
여기서, Ω는 이 블록 내지 매크로 블록을 부호화하기 위한 후보 모드의 전체 집합이고, D는 이 예측 모드를 사용하여 부호화한 경우의 복호 화상과 입력 화상의 차분 에너지이다. λ는 양자화 파라미터의 함수로서 부여되는 Lagrange 미정 승수이다. R은 직교 변환 계수를 포함한 모드를 사용하여 부호화한 경우의 총 부호량이다.
즉, High Complexity Mode의 부호화를 행하기 위해서는, 상기 파라미터 D 및 R을 산출하기 위해서 모든 후보 모드를 사용하여 한번 가(temporary) 인코드 처리를 행할 필요가 있고, 보다 높은 연산량을 필요로 한다.
Low Complexity Mode의 코스트 함수는 이하의 식(34)과 같이 된다.
Cost(Mode∈Ω)=D+QP2Quant(QP)*HeaderBit ···(34)
여기서, D는 High Complexity Mode의 경우와 상이하고 예측 화상과 입력 화상의 차분 에너지이다. QP2Quant(QP)는 양자화 파라미터 QP의 함수로서 부여되고, HeaderBit는 직교 변환 계수를 포함하지 않는 움직임 벡터 및 모드라고 하는 Header에 속하는 정보에 관한 부호량이다.
즉, Low Complexity Mode에서는, 각각의 후보 모드에 관해서 예측 처리를 행할 필요가 있지만, 복호화 화상까지는 필요없기 때문에 부호화 처리까지 행할 필요는 없다. 이로 인해, High Complexity Mode보다 낮은 연산량의 실현이 가능하다.
<코딩 유닛>
이어서, 비특허 문헌 2에 기재된 HEVC(고효율 Video Coding) 부호화 방식(이하, HEVC 방식이라고 칭한다)에서 정해져 있는 코딩 유닛(Coding Unit)에 대해서 설명한다.
H.264/AVC 방식에서는, 1개의 매크로 블록을 복수의 움직임 보상 블록으로 분할하고 이들 각각에 대하여 다른 움직임 정보를 갖게 하는 것이 가능하다. 즉, H.264/AVC 방식에서는, 매크로 블록과 서브 매크로 블록을 사용하여 계층 구조가 규정되어 있지만, 예를 들어, HEVC 방식에서는, 도 10에 도시된 바와 같이 코딩 유닛(CU)이 규정되어 있다.
CU는 Coding Tree Block(CTB)이라고 불리고, H.264/AVC 방식에서의 매크로 블록과 동일한 역할을 하는 픽처 단위의 화상의 부분 영역이다. 후자는 16×16 화소의 크기에 고정되어 있는 것에 대해, 전자의 크기는 고정되고 있지 않고 각각의 시퀀스에서 화상 압축 정보 중에서 지정된다.
예를 들어, 출력이 되는 부호화 데이터에 포함되는 시퀀스 파라미터 세트(SPS(Sequence Parameter Set))에서, CU의 최대 크기(LCU(Largest Coding Unit))와 최소 크기((SCU(Smallest Coding Unit))가 규정된다.
각각의 LCU 내에서는, SCU의 크기보다 작지 않은 범위에서 split-flag=1로 함으로써 보다 작은 크기의 CU로 분할할 수 있다. 도 10의 예에서는, LCU의 크기가 128이며, 최대 계층 심도가 5가 된다. 2N×2N의 크기의 CU는, split_flag의 값이 "1"일 때, 1개 아래의 계층이 되는 N×N의 크기의 CU로 분할된다.
또한, CU는 인트라 또는 인터 예측의 처리 단위가 되는 영역(픽처 단위의 화상의 부분 영역)인 프레딕션 유닛(Prediction Unit(PU))으로 분할되고, 또한, 직교 변환의 처리 단위가 되는 영역(픽처 단위의 화상의 부분 영역)인 트랜스폼 유닛(Transform Unit(TU))으로 분할된다. 현재, HEVC 방식에서는, 4×4 및 8×8 외에, 16×16 및 32×32 직교 변환을 사용하는 것이 가능하다.
이하의 HEVC 방식과 같이, CU를 정의하고 그 CU를 단위로서 각종 처리를 행하는 부호화 방식의 경우, H.264/AVC 방식에서의 매크로 블록은 LCU에 상당한다고 생각할 수 있다. 단, CU는 도 10에 도시된 것과 같은 계층 구조를 가지므로, 그 최상위 계층의 LCU의 크기는, 예를 들어, 128×128 화소와 같이, H.264/AVC 방식의 매크로 블록보다 크게 설정되는 것이 일반적이다.
본 발명은 H.264/AVC 방식에서의 매크로 블록을 사용하는 부호화 방식뿐만 아니라, HEVC 방식과 같은 CU, PU 및 TU 등을 사용하는 부호화 방식에도 적용할 수 있다. 즉, 블록, 유닛, 또는 처리 단위가 되는 영역을 나타내는 것이므로, 이하, 적절히, 어느 한 쪽에 포함하도록 처리 단위의 영역이라고 하는 문언을 사용해서 설명한다.
단, 이하에서, H.264/AVC 방식을 예로서 설명하는 경우에는, 블록을 사용해서 설명하지만, 그 블록은 처리 단위가 되는 영역을 나타내는 것이며 HEVC 방식에서는 유닛이다. 반대로, HEVC 방식을 예로서 설명하는 경우에는, 유닛을 사용해서 설명하지만, 그 유닛은 처리 단위가 되는 영역을 나타내는 것이며, H.264/AVC 방식에서는 블록이다.
<HEVC 방식에서의 적응 오프셋 처리>
이어서, HEVC 방식에서의 적응 오프셋 필터에 대해서 설명한다. HEVC 방식에서는, 비특허 문헌 3에 기재된 Sample Adaptive Offset 방식이 채용된다.
적응 오프셋 필터(Picture Quality Adaptive Offset: PQAO)는 도 11에 도시된 바와 같이 디블록 필터(DB)와 적응 루프 필터(ALF) 사이에 설치되어 있다.
적응 오프셋의 종류로서는, 밴드 오프셋이라고 불리는 것이 2종류, 에지 오프셋이라고 불리는 것이 6종류 있고, 또한, 오프셋을 적응하지 않는 것도 가능하다. 그리고, 화상을 쿼드 트리로 분할하고, 각각의 영역에 상술한 어느 적응 오프셋의 종류를 사용하여 부호화할지를 선택할 수 있다.
이 선택 정보는 PQAO 정보로서 엔트로피 부호화(Entropy Coding)를 사용하여 부호화되어, 비트 스트림이 생성되어, 생성된 비트 스트림이 복호측에 송신된다. 이 방법을 사용함으로써 부호화 효율을 향상시킬 수 있다.
여기서, 도 12를 참조하여 쿼드 트리 구조에 대해서 설명한다.
예를 들어, 부호화측에서는, 도 12의 A1에 도시된 바와 같이, 영역 0이 분할되어 있지 않은 상태를 나타내는 Level-0(분할 심도 0)의 코스트 함수값 J0이 계산된다. 또한, 영역 0이 4개의 영역 1 내지 4로 분할된 상태를 나타내는 Level-1(분할 심도 0)의 코스트 함수값 J1,J2,J3, 및 J4가 계산된다.
그리고, A2에 도시된 바와 같이, 코스트 함수값이 비교되어, J0> (J1+J2+J3+J4)에 의해 Level-1의 분할 영역(partitions)이 선택된다.
동일한 방식으로, A3에 도시된 바와 같이, 영역 0이 16개의 영역 5 내지 20으로 분할된 상태를 나타내는 Level-2(분할 심도 2)의 코스트 함수값 J5 내지 J20이 계산된다.
그리고, A4에 도시된 바와 같이, 코스트 함수값이 각각 비교되어, J1 <(J5+J6+J9+J10)에 의해 영역 1에서는 Level-1의 분할 영역(partitions)이 선택된다. J2> (J7+J8+J11+J12)에 의해 영역 2에서는 Level-2의 분할 영역(partitions)이 선택된다. J3> (J13+J14+J17+J18)에 의해 영역 3에서는 Level-2의 분할 영역(partitions)이 선택된다. J4> (J15+J16+J19+J20)에 의해 영역 4에서는 Level-1의 분할 영역(partitions)이 선택된다.
그 결과, 쿼드 트리 구조에서의 A4에 나타나는 최종적인 쿼드 트리 영역(partitions)이 결정된다. 그리고, 쿼드 트리 구조의 결정된 영역마다, 2종류의 밴드 오프셋, 6종류의 에지 오프셋 및 오프셋 없음의 모두에 대해서 코스트 함수값이 산출되어, 어느 오프셋을 사용하여 부호화되는지가 결정된다.
예를 들어, 도 12의 예에서는, 백색 화살표로 도시된 바와 같이, 영역 1에 대하여는, EO(4), 즉, 에지 오프셋 중 제4 종류가 결정된다. 영역 7에 대하여는, OFF, 즉, 오프셋 없음이 결정되고, 영역 8에 대하여는, EO(2), 즉, 에지 오프셋 중 제2 종류가 결정된다. 영역 11 및 12에 대하여는, OFF, 즉, 오프셋 없음이 결정된다.
또한, 영역 13에 대하여는, BO(1), 즉, 밴드 오프셋 중 제1 종류가 결정되고, 영역 14에 대하여는, EO(2), 즉, 에지 오프셋 중 제2 종류가 결정된다. 영역 17에 대하여는, BO(2), 즉, 밴드 오프셋 중 제2 종류가 결정되고, 영역 18에 대하여는, BO(1), 즉, 밴드 오프셋 중 제1 종류가 결정되고, 영역 4에 대하여는, EO(1), 즉, 에지 오프셋 중 제1 종류가 결정된다. 제4 종류에 대하여는, EO(1), 즉, 에지 오프셋 중 제1 종류가 결정된다.
이어서, 도 13을 참조하여 밴드 오프셋의 상세에 대해서 설명한다.
밴드 오프셋에서는, 도 13의 예에서는, 1개의 눈금이 1 밴드=8 화소를 나타내고, 휘도 화소값이 32 밴드로 나누어지고, 각각의 밴드가 독립적인 오프셋값을 갖는다.
즉, 도 13의 예에서는, 0 내지 255 화소(32 밴드) 중 중앙의 16 밴드가 제1 그룹으로 나누어지고 양편의 8 밴드씩이 제2 그룹으로 나누어진다.
그리고, 제1 그룹 및 제2 그룹의 어느 한쪽만의 오프셋이 부호화되어 복호측에 보내진다. 일반적으로, 1개의 영역에서 흑백으로 명확한 것이거나, 미묘한 색조가 있는지의 어느 한쪽인 적이 많고, 제1 그룹과 제2 그룹 양쪽 모두에 화소가 있는 것은 드물다. 이로 인해, 한쪽의 오프셋만 보냄으로써, 각각의 쿼드 트리 영역에 포함되어 있지 않은 값의 화소값을 전송함으로써 부호화량이 증가하는 것이 억제된다.
또한, 입력 신호가 방송에 의한 것인 경우, 휘도 신호는 16,235의 범위로 제한되고, 색차 신호는 16,240의 범위로 제한된다. 이때, 도 13의 하단에 나타나는 방송 리갈(broadcast legal)이 적용되어, X표시가 나타나고 있는, 양편의 2 밴드씩에 대한 오프셋값은 전송되지 않는다.
이어서, 도 14를 참조하여 에지 오프셋의 상세에 대해서 설명한다.
에지 오프셋에서는, 이 화소값과 이 화소값에 인접하는 인접 화소값의 비교가 행해지고, 이것에 대응한 카테고리에 대하여 오프셋값이 전송된다.
에지 오프셋에는, 도 14의 A 내지 도 14의 D에 나타나는 4개의 1차원 패턴과 도 14의 E 및 도 14의 F에 나타나는 2개의 2차원 패턴이 존재하고, 각각 도 15에 도시되는 카테고리에서 오프셋이 전송된다.
도 14의 A에서, 화소 C에 대하여 인접 화소가 좌우의 1차원에 배치되어 있다. 즉, 도 14의 A의 패턴에 대하여 0도를 이루고 있는 1-D,0-degree 패턴을 나타내고 있다. 도 14의 B에서, 화소 C에 대하여 인접 화소가 상하의 1차원에 배치되어 있다. 즉, 도 14의 A의 패턴에 대하여 90도를 이루고 있는 1-D,90-degree 패턴을 나타내고 있다.
도 14의 C에서, 화소 C에 대하여 인접 화소가 좌상과 우하의 1차원에 배치되어 있다. 즉, 도 14의 A의 패턴에 대하여 135도를 이루고 있는 1-D,135-degree 패턴을 나타내고 있다. 도 14의 D에서, 화소 C에 대하여 인접 화소가 우상과 좌하의 1차원에 배치되어 있다. 즉, 도 14의 A의 패턴에 대하여 45도를 이루고 있는 1-D,135-degree 패턴을 나타내고 있다.
도 14의 E에서, 이 화소 C에 대하여 인접 화소가 상하 좌우 2차원에 배치되어 있다. 즉, 이 화소 C에 대하여 교차하고 있는 2-D, cross 패턴을 나타내고 있다. 도 14의 F에서, 이 화소C 에 대하여 인접 화소가 우상 좌하 및 좌상 우하의 2차원에 배치되어 있다. 즉, 이 화소 C에 대하여 비스듬히 교차하고 있는 2-D, diagonal 패턴을 나타내고 있다.
도 15의 A에서, 1차원 패턴의 규칙 일람표(classification rule for 1-D patterns)를 나타내고 있다. 도 14의 A 내지 도 14의 D의 패턴은, 도 15의 A에 나타낸 바와 같은 5종류의 카테고리로 분류되고, 그 카테고리에 의해 오프셋이 산출되고, 복호부에 보내진다.
화소 C의 화소값이 2개의 인접 화소의 화소값보다 작은 경우에 카테고리 1로 분류된다. 이 화소 C의 화소값이 한쪽의 인접 화소의 화소값보다 작고, 다른 쪽의 인접 화소의 화소값과 일치하는 경우에 카테고리 2로 분류된다. 이 화소 C의 화소값이 한쪽의 인접 화소의 화소값보다 크고, 다른 쪽의 인접 화소의 화소값과 일치하는 경우에 카테고리 3으로 분류된다. 이 화소 C의 화소값이 2개의 인접 화소의 화소값보다 큰 경우에 카테고리 4로 분류된다. 이상의 어느 것도 아닌 경우에 카테고리 0으로 분류된다.
도 15의 B에서, 2차원 패턴의 규칙 일람표(classification rule for 2-D patterns)을 나타내고 있다. 도 14의 E 및 도 14의 F의 패턴은, 도 15의 B에 나타낸 바와 같은 7종류의 카테고리로 분류되고, 그 카테고리에 의해 오프셋이 복호부에 보내진다.
화소 C의 화소값이 4개의 인접 화소의 화소값보다 작은 경우에 카테고리 1로 분류된다. 이 화소 C의 화소값이 3개의 인접 화소의 화소값보다 작고, 4번째의 인접 화소의 화소값과 일치하는 경우에 카테고리 2로 분류된다. 화소 C의 화소값이 3개의 인접 화소의 화소값보다 작고, 4번째의 인접 화소의 화소값보다 큰 경우에 카테고리 3으로 분류된다.
화소 C의 화소값이 3개의 인접 화소의 화소값보다 크고, 4번째의 인접 화소의 화소값보다 작은 경우에 카테고리 4로 분류된다. 화소 C의 화소값이 3개의 인접 화소의 화소값보다 크고, 4번째의 인접 화소의 화소값과 일치하는 경우에 카테고리 5로 분류된다. 화소 C의 화소값이 4개의 인접 화소의 화소값보다 큰 경우에 카테고리 6으로 분류된다. 이상의 어느 것도 아닌 경우에 카테고리 0으로 분류된다.
이상과 같이, 에지 오프셋에서는, 1차원 패턴쪽이 인접 2 화소에 대한 비교를 행하면 충분하므로, 연산량은 낮아진다. 또한, 고효율 부호화 조건에서는, 저지연 부호화 조건에 비하여 고정밀도로 하여 1비트 오프셋의 값을 복호측에 보낸다.
이상의 적응 오프셋 처리는 HEVC 방식에서 휘도 신호에 대하여만 행해지고 있다.
그러나, 색차 신호에 대하여 적응 오프셋 처리를 실시하는 것은 연산량의 증대에 연결된다. 또한, 색차 신호는, 특히, 입력이 4:2:0 및 4:2:2인 경우, 휘도 신호에 비해서 해상도가 낮고, 휘도 신호와 동일한 처리를 행하는 것은 중복이다.
이상을 고려하여, 본 실시 형태에서는, 색차 신호에 대하여도 적응 오프셋 필터를 적용시킴으로써 색차 신호에서의 부호화 효율을 향상시킬 수 있다.
<화상 부호화 장치의 구성예>
도 16은 본 발명을 적용한 화상 처리 장치로서의 화상 부호화 장치의 일 실시 형태의 구성을 나타내고 있다.
도 16의 화상 부호화 장치(101)는 A/D 변환부(11), 화면 재배열 버퍼(12), 연산부(13), 직교 변환부(14), 양자화부(15), 가역 부호화부(16), 축적 버퍼(17), 역양자화부(18), 역직교 변환부(19), 및 연산부(20)를 구비하는 점에서 도 1의 화상 부호화 장치(1)와 동일하다. 도 16의 화상 부호화 장치(101)는 디블록 필터(21), 프레임 메모리(22), 선택부(23), 인트라 예측부(24), 움직임 예측 및 보상부(25), 예측 화상 선택부(26) 및 레이트 제어부(27)를 구비하는 점에서 도 1의 화상 부호화 장치(1)와 동일하다.
또한, 도 16의 화상 부호화 장치(101)는 상술한 도 3의 적응 루프 필터(71)가 추가된 점에서 도 1의 화상 부호화 장치(1)와 상이하다.
또한, 도 16의 화상 부호화 장치(101)는 적응 오프셋부(111) 및 색차 적응 오프셋부(112)가 추가된 점에서 도 1의 화상 부호화 장치(1)와 상이하다.
도 16에 나타나는 화상 부호화 장치(101)는 예측 방법을 사용하여 화상 데이터를 부호화한다. 여기서, 부호화 방식으로서는, 예를 들어, H.264 및 MPEG(Moving Picture Experts Group) 4 Part 10(AVC(Advanced Video Coding)) (이하 H.264/AVC이라고 칭한다) 방식, HEVC(High Efficiency Video Coding) 방식 등이 사용된다.
즉, 적응 오프셋부(111) 및 색차 적응 오프셋부(112)는 디블록 필터(21) 다음, 적응 루프 필터(71) 앞에 설치되어 있다. 즉, 적응 오프셋부(111) 및 색차 적응 오프셋부(112)는 화면 재배열 버퍼 (12), 연산부(13), 직교 변환부(14), 양자화부(15), 역양자화부(18), 역직교 변환부(19), 연산부(20), 디블록 필터(21), 적응 루프 필터(71), 프레임 메모리(22), 선택부(23), 인트라 예측부(24), 움직임 예측 및 보상부(25), 및 예측 화상 선택부(26)로 이루어지는 움직임 보상 루프 내에 설치되어 있다. 즉, 움직임 보상 루프 내에서는 화상이 루프되어 사용된다.
적응 오프셋부(111)는 디블록 필터(21)로부터의 복호 화상(로컬 디코드 후의 기저 대역 정보)의 휘도 신호에 대한 오프셋 처리를 행한다. 즉, 적응 오프셋부 (111)는 도 12를 참조하여 상술한 쿼드 트리 구조를 결정한다. 구체적으로는, 적응 오프셋부(111)는 휘도 신호를 사용하여 쿼드 트리에 따른 영역 분할을 행하고, 분할된 영역마다 밴드 오프셋 2종류, 에지 오프셋 6종류, 및 오프셋 없음 중에서 오프셋의 종류를 결정한다. 또한, 적응 오프셋부(111)는 쿼드 트리 구조를 참조하여 분할된 영역마다 휘도 신호에 대한 오프셋값을 산출한다.
적응 오프셋부(111)는 결정한 쿼드 트리 구조와 산출한 휘도 신호에 대한 오프셋값(이하, 휘도 오프셋값이라고 칭한다)을 가역 부호화부(16) 및 색차 적응 오프셋부(112)에 공급한다.
또한, 적응 오프셋부(111)는 결정한 쿼드 트리와 휘도 오프셋값을 사용하여 디블록 필터(21)로부터의 복호 화상의 휘도 신호에 대하여 오프셋 처리를 행한다. 그리고, 적응 오프셋부(111)는 오프셋 처리 후의 휘도 신호와 색차 적응 오프셋부(112)에 의해 오프셋 처리가 실시된 색차 신호를 적응 루프 필터(71)에 공급한다.
색차 적응 오프셋부(112)는 적응 오프셋부(111)로부터의 쿼드 트리 구조에 기초하여 색차 신호에 대한 오프셋 처리를 행한다. 즉, 색차 적응 오프셋부(112)는 적응 오프셋부(111)로부터의 쿼드 트리 구조를 참조하여, 분할된 영역마다, 색차 신호에 대한 오프셋값을 산출한다. 색차 적응 오프셋부(112)는 결정한 색차 오프셋값을 사용하여 디블록 필터(21)로부터의 복호 화상의 색차 신호에 대하여 오프셋 처리를 행한다. 그리고, 색차 적응 오프셋부(112)는 오프셋 처리 후의 색차 신호를 적응 오프셋부(111)에 공급한다.
또한, 색차 적응 오프셋부(112)는 결정한 색차 신호에 대한 오프셋값(이하, 색차 오프셋값이라고 칭한다), 휘도 오프셋값, 및 상관 계수를 사용하여 색차 오프셋값의 예측 잔차를 산출하고, 가역 부호화부(16)에 공급한다.
적응 루프 필터(71)는 적응 오프셋부(111)에 의해 오프셋된 복호 화상에 대하여 위너 필터를 사용하여 루프 필터 처리를 행함으로써 화질 개선을 행한다.
<본 발명의 적응 오프셋 처리>
도 16의 적응 오프셋부(111) 및 색차 적응 오프셋부(112)를 사용하여 행해지는 적응 오프셋 처리에 대해서 다시 도 12 내지 15를 적절히 참조하여 설명한다.
우선, 화상 부호화 장치(101)에서는, 휘도 신호와 색차 신호에는 상관이 있는 사실을 이용하고, 도 12를 참조하여 상술한 쿼드 트리 구조의 결정을 휘도 신호만으로 행하고, 휘도 신호를 사용하여 결정된 쿼드 트리 구조의 영역 분할을 색차 신호에도 적용한다.
이에 의해, 휘도 신호와 색차 신호로 독립한 영역 분할을 행하지 않아도 충분하므로, 연산량의 증대를 억제할 수 있다. 또한, 복호측에 휘도와 색차에서 상이한 영역 분할에 관한 정보를 전달할 필요가 없으므로, 화상 압축 정보의 부호량이 증대되지 않는다.
또한, 오프셋의 종류는 휘도 신호의 쿼드 트리 구조에 기초하여 결정된다. 물론, 오프셋의 종류에 대해서도 휘도 신호와 색차 신호를 동일하게 할 수 있다. 또한, 예를 들어, 색차 신호에 관해서는 밴드 오프셋과 에지 오프셋의 2종류 만에 의한 분할이 이루어질 수 있다. 즉, 이 경우, 색차 신호에 관해서는 밴드 오프셋, 에지 오프셋, 오프(오프셋을 행하지 않는다)의 3종류 만의 쿼드 트리 구조로 해서 처리가 행해진다.
또한, 색차 신호는, 휘도 신호보다 해상도가 낮은 점으로 인해, 밴드 오프셋을 적용할 때에는, 도 13에 나타나는 휘도 신호에 대한 32 밴드보다도 적은, 예를 들어 16 밴드에 의해 오프셋을 보낸다. 이에 의해, 부호량의 증대를 억제하면서, 화질을 개선하는 것이 가능하다.
또한, 0은 휘도 신호의 성분이 없는 것을 의미하지만, 색차 신호에 관해서는 8비트의 경우에 128이 그 성분이 없는 것을 의미한다. 이로 인해, 도 13에서, 휘도 신호에서 제1 그룹에 관한 정보가 보내질 때, 색차 신호에서 제2 그룹에 관한 정보가 보내진다. 반대로, 휘도 신호에서 제2 그룹에 관한 정보가 보내질 때, 색차 신호에서 제1 그룹에 관한 정보가 보내진다. 이와 같이 할 수 있다.
또한, 에지 오프셋과 밴드 오프셋 모두, 색차 신호에 대한 오프셋값 OC가 아닌 것에 따라, 다음 식(35)에 나타나는 예측 잔차를 복호측에 보낸다.
OC - (α*O +β) …(35)
여기서, O은 휘도 신호에 대한 오프셋값이며 α 및 β는 상관 계수이다. α 및 β는 2종류의 밴드 오프셋, 6종류의 에지 오프셋의 각각 별개의 값으로 산출되어서, 복호측에 보내질 수 있다. 또는, 2종류의 밴드 오프셋과 6종류의 에지 오프셋에 대하여 2종류의 상관 계수 α 및 β가 산출되어서, 보내질 수 있다. 또한, Cb와 Cr에 대해서 따로따로 상관 계수 α 및 β가 산출되어서, 보내질 수 있다.
더구나, 또한, 밴드 오프셋에서, 휘도 신호에 대하여는 32 밴드 있지만, 색차 신호에 대하여 16 밴드밖에 없을 경우, O이 OL0과 OL1에 대응한다고 가정하면, 다음 식(36)에 나타나는 예측 잔차를 복호측에 보낼 수 있다.
OC - (α*(OL0+OL1+1)/2+β) …(36)
또한, 상기 식(35) 및 식(36)에서, α=1 및 β=0의 경우, 색차 신호로서 휘도 오프셋값과 동일값이 사용된다. 또한, 화상 부호화 장치(101)에서는, 색차 신호에 대한 오프셋값(예측 잔차)을 양자화할 수 있다.
또한, 다음에 설명하는 바와 같이, 휘도 신호와 색차 신호를 사용하여 카테고리의 대응을 행할 수 있다. 즉, 예를 들어, 4:2:0의 경우에 4개의 휘도 화소가 1개의 색차 화소에도 대응하도록 설정되지만, 4개 중에서 전부 또는 3개의 휘도 화소가 동일한 카테고리에 속할 경우에는, 색차 신호에도 동일한 카테고리를 적용할 수 있다.
휘도 화소가 2개씩 동일한 카테고리에 속할 경우에는, 색차 신호에 대하여, 어느 쪽의 카테고리를 적용할지에 관한 정보를 나타내는 플래그를 보낸다. 이외의 경우에는, 상술한 바와 같이, 색차 신호에 관해서도 카테고리 정보를 보낸다.
이상과 같이 하여, 색차 신호에 대하여도 적응 오프셋을 적용시킴으로써, 연산량을 증대시키지 않고, 색차 신호에서의 부호화 효율을 향상시킬 수 있다.
<적응 오프셋부 및 색차 신호 적응 오프셋부의 구성예>
이어서, 화상 부호화 장치(101)의 각 부에 대해서 설명한다. 도 17은 적응 오프셋부(111) 및 색차 신호 적응 오프셋부(112)의 구성예를 도시하는 블록도이다.
도 17의 예에서, 적응 오프셋부(111)는 쿼드 트리 구조 결정부(131), 휘도 오프셋 산출부(132), 휘도 오프셋부(133), 및 화소 버퍼(134)를 포함하도록 구성되어 있다.
색차 적응 오프셋부(112)는 색차 오프셋 산출부(141), 상관 계수 산출부(142), 색차 오프셋 예측값 산출부(143), 및 색차 오프셋부(144)를 포함하도록 구성되어 있다.
디블록 필터(21)로부터의 디블록 후의 화소값은 쿼드 트리 구조 결정부(131), 휘도 오프셋부(133), 및 색차 오프셋부(144)에 공급된다.
쿼드 트리 구조 결정부(131)는 디블록 후의 휘도 신호의 화소값을 참조함으로써, 도 12를 참조하여 상술한 바와 같이 쿼드 트리 구조를 결정한다. 즉, 쿼드 트리 구조 결정부(131)는 화상을 쿼드 트리로 분할하고, 각각의 영역에 상술한 어느 적응 오프셋의 종류에 의해 부호화할지를 코스트 함수값을 사용해서 결정한다.
쿼드 트리 구조 결정부(131)는 결정한 쿼드 트리 구조를 휘도 오프셋 산출부(132), 휘도 오프셋부(133), 색차 오프셋 산출부(141), 및 색차 오프셋부(144)에 공급한다.
휘도 오프셋 산출부(132)는 휘도 신호에 관해서 쿼드 트리 분할된 각 영역에 대한 휘도 오프셋값의 산출을 행한다. 휘도 오프셋 산출부(132)는 산출한 휘도 오프셋의 정보를 휘도 오프셋부(133), 상관 계수 산출부(142), 및 색차 오프셋 예측값 산출부(143)에 공급한다. 또한, 휘도 오프셋 산출부(132)는 산출한 휘도 오프셋의 정보를 쿼드 트리 구조의 정보와 함께 가역 부호화부(16)에 공급한다.
휘도 오프셋부(133)는 디블록 후의 휘도 신호의 화소값에 대하여 오프셋 처리를 행한다. 즉, 휘도 오프셋부(133)는 쿼드 트리 구조 결정부(131)를 사용하여 쿼드 트리 분할된 각 영역의 휘도의 화소값에 대하여 휘도 오프셋 산출부(132)를 사용하여 산출된 휘도 오프셋값을 가산한다. 휘도 오프셋부(133)는 오프셋 처리 후의 화소값을 화소 버퍼(134)에 축적한다.
화소 버퍼(134)는 휘도 신호 및 색차 신호의 오프셋 처리 후의 화소값의 양쪽이 정렬되는 것을 기다리고, 정렬된 오프셋 처리 후의 화소값을 적응 루프 필터(71)에 공급한다.
색차 오프셋 산출부(141) 및 색차 오프셋부(144)는, 휘도 신호의 쿼드 트리 구조에 대하여 상술한 바와 같은 색차 신호의 경우의 분할수, 밴드수, 또는 카테고리의 대응을 미리 결정한다. 이것을 고려하여, 색차 오프셋 산출부(141)는 색차 신호에 관해서 쿼드 트리 구조 결정부(131)에 의해 쿼드 트리 분할된 각 영역에 대한 색차 오프셋값을 산출한다. 색차 오프셋 산출부(141)는 산출한 색차 오프셋의 정보를 상관 계수 산출부(142) 및 색차 오프셋부(144)에 공급한다.
상관 계수 산출부(142)는 휘도 오프셋 산출부(132)로부터의 휘도 오프셋의 정보와 색차 오프셋 산출부(141)로부터의 색차 오프셋의 정보를 사용하여 상관 계수 α 및 β를 산출한다. 상관 계수 산출부(142)는 산출한 상관 계수 α 및 β의 값과 색차 오프셋의 정보를 색차 오프셋 예측값 산출부(143)에 공급한다. 또한, 상관 계수 산출부(142)는 산출한 상관 계수 α 및 β의 값을 가역 부호화부(16)에 공급한다.
색차 오프셋 예측값 산출부(143)는 휘도 오프셋 산출부(132)로부터의 휘도 오프셋값과 상관 계수 산출부(142)로부터의 상관 계수α 및 β의 값, 및 색차 오프셋값을 사용하여 예측 잔차(이하, 색차 오프셋 잔차라고도 칭한다)을 산출한다. 이때, 예를 들어, 상술한 식(35) 또는 식(36)이 사용된다. 색차 오프셋 예측값 산출부(143)는 산출한 색차 오프셋 잔차를 가역 부호화부(16)에 공급한다.
색차 오프셋부(144)는 디블록 후의 색차 신호의 화소값에 대하여 오프셋 처리를 행한다. 즉, 색차 오프셋부(144)는 쿼드 트리 구조 결정부(131)에 의해 쿼드 트리 분할된 각 영역의 색차의 화소값에 대하여 색차 오프셋 산출부(141)에 의해 산출된 색차 오프셋값을 가산한다. 색차 오프셋부(144)는 오프셋 처리 후의 화소값을 화소 버퍼(134)에 축적한다.
<부호화 처리의 흐름>
이어서, 이상과 같은 화상 부호화 장치(101)에 의해 실행되는 각 처리의 흐름에 대해서 설명한다. 최초에, 도 18의 흐름도를 참조하여 부호화 처리의 흐름의 예를 설명한다.
스텝 S101에서, A/D 변환부(11)는 입력된 화상을 A/D 변환한다. 스텝 S102에서, 화면 재배열 버퍼(12)는 A/D 변환된 화상을 기억하고, 각 픽처의 표시하는 순서로부터 부호화하는 순서에의 재배열을 행한다.
화면 재배열 버퍼(12)로부터 공급되는 처리 대상의 화상이 인트라 처리되는 블록의 화상인 경우, 복호 완료된 참조 화상이 프레임 메모리(22)로부터 판독되어 선택부(23)를 통해서 인트라 예측부(24)에 공급된다.
이 화상에 기초하여, 스텝 S103에서, 인트라 예측부(24)는 처리 대상의 블록의 화소를 후보가 되는 모든 인트라 예측 모드를 사용하여 인트라 예측한다. 또한, 복호 완료된 참조 화소로서는, 디블록 필터(21), 적응 오프셋부(111), 색차 적응 오프셋부(112), 또는 적응 루프 필터(71)를 사용하여 필터링 또는 오프셋되어 있지 않은 화소가 사용된다.
이 처리에 의해, 후보가 되는 모든 인트라 예측 모드를 사용하여 인트라 예측이 행해지고, 후보가 되는 모든 인트라 예측 모드에 대하여 코스트 함수값이 산출된다. 그리고, 산출된 코스트 함수값에 기초하여, 최적 인트라 예측 모드가 선택되고 최적 인트라 예측 모드의 인트라 예측에 의해 생성된 예측 화상과 그 코스트 함수값이 예측 화상 선택부(26)에 공급된다.
화면 재배열 버퍼(12)로부터 공급되는 처리 대상의 화상이 인터 처리되는 화상인 경우, 참조 화상이 프레임 메모리(22)로부터 판독되어, 선택부(23)를 통해서 움직임 예측 및 보상부(25)에 공급된다. 이 화상에 기초하여, 스텝 S104에서, 움직임 예측 및 보상부(25)는 움직임 예측 및 보상 처리를 행한다.
이 처리에 의해, 후보가 되는 모든 인터 예측 모드를 사용하여 움직임 예측 처리가 행해지고, 후보가 되는 모든 인터 예측 모드에 대하여 코스트 함수값이 산출되어, 산출한 코스트 함수값에 기초하여 최적 인터 예측 모드가 결정된다. 그리고, 최적 인터 예측 모드를 사용하여 생성된 예측 화상과 그 코스트 함수값이 예측 화상 선택부(26)에 공급된다.
스텝 S105에서, 예측 화상 선택부(26)는 인트라 예측부(24) 및 움직임 예측 및 보상부(25)로부터 출력된 각 코스트 함수값에 기초하여 최적 인트라 예측 모드와 최적 인터 예측 모드 중 한쪽으로부터 최적 예측 모드를 결정한다. 그리고, 예측 화상 선택부(26)는 결정한 최적 예측 모드의 예측 화상을 선택하고, 연산부(13 및 20)에 공급한다. 이 예측 화상은 후술하는 스텝 S106 및 S111의 연산에 이용된다.
또한, 이 예측 화상의 선택 정보는 인트라 예측부(24) 또는 움직임 예측 및 보상부(25)에 공급된다. 최적 인트라 예측 모드의 예측 화상이 선택된 경우, 인트라 예측부(24)는 최적 인트라 예측 모드를 나타내는 정보(즉, 인트라 예측 모드 정보)를 가역 부호화부(16)에 공급한다.
최적 인터 예측 모드의 예측 화상이 선택된 경우, 움직임 예측 및 보상부(25)는 최적 인터 예측 모드를 나타내는 정보와, 또한, 필요에 따라, 최적 인터 예측 모드에 따른 정보를 가역 부호화부(16)에 출력한다. 최적 인터 예측 모드에 따른 정보로서는 움직임 벡터 정보, 참조 프레임 정보 등을 들 수 있다.
스텝 S106에서, 연산부(13)는 스텝 S102에서 재배열된 화상과 스텝 S105에서 선택된 예측 화상 간의 차분을 연산한다. 예측 화상은 인터 예측하는 경우에는 움직임 예측 및 보상부(25)로부터 공급되고, 인트라 예측하는 경우에는 인트라 예측부(24)로부터, 각각 예측 화상 선택부(26)를 통해서 연산부(13)에 공급된다.
잔차 데이터는 원래의 화상 데이터에 비교해서 데이터량이 작아져 있다. 따라서, 화상을 그대로 부호화할 경우에 비하여 데이터량을 압축할 수 있다.
스텝 S107에서, 직교 변환부(14)는 연산부(13)로부터 공급된 차분 정보를 직교 변환한다. 구체적으로는, 이산 코사인 변환, 카루넨 루베 변환 등의 직교 변환이 행해지고, 변환 계수가 출력된다.
스텝 S108에서, 양자화부(15)는 변환 계수를 양자화한다. 양자화 시에는, 후술하는 스텝 S118의 처리에서 설명되는 바와 같이 레이트가 제어된다.
이상과 같이 해서 양자화된 차분 정보는 다음과 같이 국부적으로 복호된다. 즉, 스텝 S109에서, 역양자화부(18)는 양자화부(15)에 의해 양자화된 변환 계수를 양자화부(15)의 특성에 대응하는 특성으로 역양자화한다. 스텝 S110에서, 역직교 변환부(19)는 역양자화부(18)에 의해 역양자화된 변환 계수를 직교 변환부(14)의 특성에 대응하는 특성으로 역직교 변환한다.
스텝 S111에서, 연산부(20)는 예측 화상 선택부(26)를 통해서 입력되는 예측 화상을 국부적으로 복호된 차분 정보에 가산하고 국부적으로 복호된(즉, 로컬 디코드된) 화상(연산부(13)에의 입력에 대응하는 화상)을 생성한다.
스텝 S112에서, 디블록 필터(21)는 연산부(20)로부터 출력된 화상에 대하여 디블록 필터 처리를 행한다. 이에 의해, 블록 왜곡이 제거된다. 디블록 필터(21)로부터의 복호 화상은 적응 오프셋부(111)에 출력된다.
스텝 S113에서, 적응 오프셋부(111) 및 색차 적응 오프셋부(112)는 적응 오프셋 처리를 행한다. 이 적응 오프셋 처리의 상세한 것은, 도 19를 참조하여 후술된다. 이 처리에 의해, 휘도 신호를 기초로, 쿼드 트리 구조가 결정되어, 결정된 쿼드 트리 분할된 영역의 휘도 및 색차에 대하여 오프셋값이 각각 산출된다. 그리고, 결정된 쿼드 트리 분할된 영역의 휘도 및 색차에 대하여 오프셋 처리가 실시된다. 오프셋 후의 화소값은 적응 루프 필터(71)에 공급된다.
또한, 휘도 오프셋값과 색차 오프셋값을 사용하여 상관 계수가 구해지고, 색차 오프셋 잔차가 구해진다. 구해진 색차 오프셋 잔차는, 쿼드 트리 구조와 휘도 오프셋의 정보와 함께 가역 부호화부(16)에 공급된다. 또한, 상관 계수도 가역 부호화부(16)에 공급된다.
스텝 S114에서, 적응 루프 필터(71)는 적응 필터 계수를 사용하여 오프셋 처리 후의 화소값에 대하여 적응 루프 필터 처리를 행한다. 적응 필터 처리 후의 화소값은 프레임 메모리(22)에 출력된다.
스텝 S115에서, 프레임 메모리(22)는 필터링된 화상을 기억한다. 또한, 프레임 메모리(22)에는, 디블록 필터(21), 적응 오프셋부(111), 색차 적응 오프셋부(112), 또는 적응 루프 필터(71)를 사용하여 필터링 또는 오프셋 되어 있지 않은 화상이 연산부(20)로부터 공급되어 기억된다.
한편, 상술한 스텝 S108에서 양자화된 변환 계수는 가역 부호화부(16)에도 공급된다. 스텝 S116에서, 가역 부호화부(16)는 양자화부(15)로부터 출력된 양자화된 변환 계수를 부호화한다. 즉, 차분 화상이 가변 길이 부호화 및 산술 부호화 등 가역 부호화되어 압축된다.
또한, 이때, 상술한 스텝 S105에서 가역 부호화부(16)에 입력된 인트라 예측부(24)로부터의 인트라 예측 모드 정보, 움직임 예측 및 보상부(25)로부터의 최적 인터 예측 모드에 따른 정보 등이 부호화되어 헤더 정보에 부가된다. 또한, 상술한 스텝 S113에서 가역 부호화부(16)에 입력된 쿼드 트리 구조와 휘도 오프셋 및 색차 오프셋 잔차의 정보도 부호화되어 헤더 정보에 부가된다. 또한, 상관 계수는 슬라이스 헤더 또는 LCU(Largest Coding Unit) 헤더에 부가된다.
예를 들어, 인터 예측 모드를 나타내는 정보는 매크로 블록마다 부호화된다. 움직임 벡터 정보 및 참조 프레임 정보는 대상으로 되는 블록마다 부호화된다.
스텝 S117에서, 축적 버퍼(17)는 차분 화상을 압축 화상으로서 축적한다. 축적 버퍼(17)에 축적된 압축 화상이 적절히 출력되어 전송로를 통해서 복호측에 전송된다.
스텝 S118에서, 레이트 제어부(27)는 축적 버퍼(17)에 축적된 압축 화상에 기초하여 오버플로우 또는 언더플로우가 발생하지 않도록 양자화부(15)의 양자화 동작의 레이트를 제어한다.
스텝 S118의 처리가 종료되면, 부호화 처리가 종료된다.
<적응 오프셋 처리의 흐름>
이어서, 도 19의 흐름도를 참조하여 도 18의 스텝 S113에서 실행되는 적응 오프셋 처리의 흐름의 예를 설명한다.
디블록 필터(21)로부터의 디블록 후의 화소값은 쿼드 트리 구조 결정부(131), 휘도 오프셋부(133), 및 색차 오프셋부(144)에 공급된다.
스텝 S131에서, 쿼드 트리 구조 결정부(131)는 디블록 후의 휘도 신호의 화소값을 참조함으로써 도 12를 참조하여 상술한 바와 같이 쿼드 트리 구조를 결정한다. 즉, 화상이 쿼드 트리로 분할되어, 각각의 영역에 상술한 어느 적응 오프셋의 종류에 의해 부호화할지가 코스트 함수값을 사용하여 결정됨으로써, 쿼드 트리 구조가 결정된다. 결정된 쿼드 트리 구조는 휘도 오프셋 산출부(132), 휘도 오프셋부(133), 색차 오프셋 산출부(141), 및 색차 오프셋부(144)에 공급된다.
스텝 S132에서, 휘도 오프셋 산출부(132)는 휘도 신호에 관해서 쿼드 트리 분할된 각 영역에 대한 휘도 오프셋값의 산출을 행한다. 산출한 휘도 오프셋의 정보는 휘도 오프셋부(133), 상관 계수 산출부(142), 및 색차 오프셋 예측값 산출부(143)에 공급된다.
한편, 스텝 S133에서, 색차 오프셋 산출부(141)는 색차 신호에 관해서 쿼드 트리 구조 결정부(131)에 의해 쿼드 트리 분할된 각 영역에 대한 색차 오프셋값의 산출을 행한다. 산출된 색차 오프셋의 정보는 상관 계수 산출부(142) 및 색차 오프셋부(144)에 공급된다.
스텝 S134에서, 상관 계수 산출부(142)는 휘도 오프셋 산출부(132)로부터의 휘도 오프셋의 정보와 색차 오프셋 산출부(141)로부터의 색차 오프셋의 정보를 사용하여 상관 계수 α 및 β를 산출한다. 산출된 상관 계수 α 및 β의 값과 색차 오프셋의 정보는 색차 오프셋 예측값 산출부(143)에 공급된다.
스텝 S135에서, 색차 오프셋 예측값 산출부(143)는 식(35) 및 식(36)을 사용하여 예측 잔차로서 색차 오프셋 잔차를 산출한다. 이 색차 오프셋 잔차의 산출에는, 휘도 오프셋 산출부(132)로부터의 휘도 오프셋값, 상관 계수 산출부(142)로부터의 상관 계수 α 및 β의 값, 및 색차 오프셋값이 사용된다.
스텝 S136에서, 적응 오프셋부(111) 및 색차 적응 오프셋부(112)는 적응 오프셋 파라미터인 쿼드 트리 구조, 휘도 오프셋값, 상관 계수 α 및 β, 및 색차 오프셋 잔차를 가역 부호화부(16)에 보낸다. 즉, 휘도 오프셋 산출부(132)는 산출한 휘도 오프셋의 정보를 쿼드 트리 구조의 정보와 함께 가역 부호화부(16)에 공급한다. 상관 계수 산출부(142)는 산출한 상관 계수 α 및 β의 값을 가역 부호화부(16)에 공급한다. 색차 오프셋 예측값 산출부(143)는 산출한 색차 오프셋 잔차를 가역 부호화부(16)에 공급한다. 또한, 색차 오프셋 잔차는 양자화부(15)에 의해 양자화될 수 있다.
적응 오프셋 파라미터는 상술한 도 18의 스텝 S116에서 가역 부호화부(16)에 의해 부호화되어 헤더 정보에 부가된다.
스텝 S137에서, 휘도 오프셋부(133) 및 색차 오프셋부(144)는 디블록 후의 휘도 및 색차의 화소값에 대하여 오프셋 처리를 각각 행한다. 즉, 휘도 오프셋부(133)는 쿼드 트리 구조 결정부(131)에 의해 쿼드 트리 분할된 각 영역의 휘도의 화소값에 대하여 휘도 오프셋 산출부(132)를 사용하여 산출된 오프셋값을 가산한다. 색차 오프셋부(144)는 쿼드 트리 구조 결정부(131)에 의해 쿼드 트리 분할된 각 영역의 색차의 화소값에 대하여 색차 오프셋 산출부(141)를 사용하여 산출된 오프셋값을 가산한다.
오프셋 처리 후의 화소값은 화소 버퍼(134)에 축적되어 휘도 및 색차가 정렬될 때 적응 루프 필터(71)에 공급된다.
이상과 같이, 색차 신호에 대해서는 휘도 신호에 기초하여 결정된 쿼드 트리 구조에 기초하여 오프셋 처리가 실시되므로, 연산량의 증대를 억제하면서 부호화 효율을 개선할 수 있다.
또한, 색차 신호에 대해서는, 휘도 신호의 오프셋값과 상관 계수를 사용하여 산출된 색차 오프셋의 잔차가 복호측에 보내지므로, 부호화 효율을 향상시킬 수 있다.
<2. 제2 실시 형태>
<화상 복호 장치>
도 20은 본 발명을 적용한 화상 처리 장치로서의 화상 복호 장치의 일 실시 형태의 구성을 나타내고 있다. 도 20에 나타나는 화상 복호 장치(201)는 도 16의 화상 부호화 장치(101)에 대응하는 복호 장치이다.
화상 부호화 장치(101)를 사용하여 부호화된 부호화 데이터는 소정의 전송로를 통하여 화상 부호화 장치(101)에 대응하는 화상 복호 장치(201)에 전송되어 복호된다.
도 20의 화상 복호 장치(201)는 축적 버퍼(41), 가역 복호부(42), 역양자화부(43), 역직교 변환부(44), 및 연산부(45)를 구비하는 점에서 도 2의 화상 복호 장치(31)와 동일하다. 도 20의 화상 복호 장치(201)는 디블록 필터(46), 화면 재배열 버퍼(47), D/A 변환부(48), 프레임 메모리(49), 선택부(50), 인트라 예측부(51), 움직임 보상부(52), 및 화상 선택부(53)를 구비하는 점에서 도 2의 화상 복호 장치(31)와 동일하다.
또한, 도 20의 화상 복호 장치(201)는 상술한 도 4의 적응 루프 필터(91)가 추가된 점에서 도 2의 화상 복호 장치(31)와 상이하다.
또한, 도 20의 화상 복호 장치(201)는 적응 오프셋부(211) 및 색차 적응 오프셋부(212)가 추가된 점에서 도 2의 화상 복호 장치(31)와 상이하다.
즉, 가역 복호부(42)는 도 2의 가역 복호부(42)와 동일하게 축적 버퍼(41)로부터 공급된 도 16의 가역 부호화부(16)에 의해 부호화된 정보를 가역 부호화부(16)의 부호화 방식에 대응하는 방식을 사용하여 복호한다. 이때, 도 20의 예에서는, 움직임 벡터 정보, 참조 프레임 정보, 예측 모드 정보(인트라 예측 모드 또는 인터 예측 모드를 나타내는 정보), 적응 오프셋 파라미터 등이 복호된다. 적응 오프셋 파라미터는, 상술한 바와 같이, 도 16의 가역 부호화부(16)에 의해 부호화된 쿼드 트리 구조, 휘도 오프셋값, 상관 계수 α 및 β, 색차 오프셋 잔차 등으로 구성된다.
또한, 상관 계수 α 및 β는 슬라이스 헤더 또는 LCU(Largest Coding Unit) 헤더에 부가되어 있으므로, 상관 계수 α 및 β는 거기로부터 취득된다. 또한, 색차 오프셋 잔차가 양자화되어 있는 경우에는, 색차 오프셋 잔차는 역양자화부(43)에 의해 역양자화되고 나서, 색차 오프셋 잔차는 색차 적응 오프셋부(212)에 공급된다.
적응 오프셋부(211) 및 색차 적응 오프셋부(212)는 디블록 필터(46) 다음, 적응 루프 필터(91) 앞에 설치되어 있다. 즉, 적응 오프셋부(211) 및 색차 적응 오프셋부(212)는 연산부(45), 디블록 필터(46), 적응 루프 필터(91), 프레임 메모리(49), 선택부(50), 움직임 보상부(52), 및 화상 선택부(53)로 이루어지는 움직임 보상 루프 내에 설치되어 있다. 즉, 움직임 보상 루프 내에서는 화상이 루프되어 사용된다.
적응 오프셋부(211)에는 가역 복호부(42)로부터의 적응 오프셋 파라미터 중 쿼드 트리 구조 및 휘도 오프셋이 공급된다. 적응 오프셋부(211)는 이 정보를 사용하여 디블록 필터(46)로부터의 복호 화상의 휘도 신호의 화소값에 대하여 오프셋 처리를 행하고 이 정보를 색차 적응 오프셋부(212)에 공급한다.
또한, 적응 오프셋부(211)는 오프셋 처리 후의 휘도 신호와 색차 적응 오프셋부(212)에 의해 오프셋 처리가 실시된 색차 신호를 적응 루프 필터(91)에 공급한다.
색차 적응 오프셋부(212)에는 적응 오프셋 파라미터 중 상관 계수 α 및 β및 색차 오프셋 잔차가 공급된다. 색차 적응 오프셋부(212)는 적응 오프셋부(211)로부터의 쿼드 트리 구조에 기초하여 디블록 필터(46)로부터의 복호 화상의 색차 신호의 화소값에 대하여 오프셋 처리를 행한다. 즉, 색차 적응 오프셋부(212)는 가역 복호부(42)로부터의 상관 계수 α 및 β 및 색차 오프셋 잔차와 적응 오프셋부(211)로부터의 쿼드 트리 구조 및 휘도 오프셋값을 사용하여 색차 오프셋을 재구축한다. 색차 적응 오프셋부(212)는 적응 오프셋부(211)로부터의 쿼드 트리 구조 및 재구축한 색차 오프셋값을 사용하여 디블록 필터(46)로부터의 복호 화상의 색차 신호의 화소값에 대하여 오프셋 처리를 행한다.
적응 루프 필터(91)는 가역 복호부(42)로부터 공급된 적응 필터 계수를 사용하여 디블록 필터(46)로부터의 복호 화상에 필터 처리를 행한다. 이 필터로서, 예를 들어, 위너 필터가 사용된다.
<적응 오프셋부 및 색차 적응 오프셋부의 구성예>
이어서, 화상 복호 장치(201)의 각 부에 대해서 설명한다. 도 21은 적응 오프셋부(211) 및 색차 적응 오프셋부(212)의 구성예를 도시하는 블록도이다.
도 21의 예에서, 적응 오프셋부(211)는 쿼드 트리 구조 버퍼(231), 휘도 오프셋 버퍼(232), 휘도 오프셋부(233), 및 화소 버퍼(234)를 포함하도록 구성되어 있다.
색차 적응 오프셋부(212)는 상관 계수 버퍼(241), 색차 오프셋 잔차 버퍼(242), 색차 오프셋 재구축부(243), 및 색차 오프셋부(244)를 포함하도록 구성되어 있다.
디블록 필터(46)로부터의 디블록 후의 화소값은 휘도 오프셋부(233) 및 색차 오프셋부(244)에 공급된다.
가역 복호부(42)로부터의 쿼드 트리 구조의 정보는 쿼드 트리 구조 버퍼(231)에 공급된다. 쿼드 트리 구조 버퍼(231)는 가역 복호부(42)로부터의 쿼드 트리 구조의 정보를 축적하고, 쿼드 트리 구조의 정보를 휘도 오프셋부(233), 색차 오프셋 재구축부(243), 및 색차 오프셋부(244)에 공급한다.
가역 복호부(42)로부터의 휘도 오프셋의 정보는 휘도 오프셋 버퍼(232)에 공급된다. 휘도 오프셋 버퍼(232)는 가역 복호부(42)로부터의 휘도 오프셋의 정보를 축적하고, 휘도 오프셋의 정보를 휘도 오프셋부(233) 및 색차 오프셋 재구축부(243)에 공급한다.
휘도 오프셋부(233)는 디블록 후의 휘도 신호의 화소값에 대하여 오프셋 처리를 행한다. 즉, 휘도 오프셋부(233)는 쿼드 트리 구조 버퍼(231)에 의해 쿼드 트리 분할된 각 영역의 휘도의 화소값에 대하여 휘도 오프셋 버퍼(232)로부터의 휘도 오프셋값을 가산한다. 휘도 오프셋부(233)는 오프셋 처리 후의 화소값을 화소 버퍼(234)에 축적한다.
화소 버퍼(234)는 휘도 신호 및 색차 신호의 오프셋 처리 후의 화소값의 양쪽이 정렬되는 것을 기다리고, 정렬된 오프셋 처리 후의 화소값을 적응 루프 필터(91)에 공급한다.
가역 복호부(42)로부터의 상관 계수 α 및 β는 상관 계수 버퍼(241)에 공급된다. 상관 계수 버퍼(241)는 가역 복호부(42)로부터의 상관 계수 α 및 β를 축적하고, 축적된 상관 계수 α 및 β를 색차 오프셋 재구축부(243)에 공급한다.
가역 복호부(42)로부터의 색차 오프셋 잔차는 색차 오프셋 잔차 버퍼(242)에 공급된다. 색차 오프셋 잔차 버퍼(242)는 가역 복호부(42)로부터의 색차 오프셋 잔차를 축적하고, 축적된 색차 오프셋 잔차를 색차 오프셋 재구축부(243)에 공급한다.
색차 오프셋 재구축부(243)에는, 쿼드 트리 구조 버퍼(231)로부터의 쿼드 트리 구조, 휘도 오프셋 버퍼(232)로부터의 휘도 오프셋, 상관 계수 버퍼(241)로부터의 상관 계수, 및 색차 오프셋 잔차 버퍼(242)로부터의 색차 오프셋 잔차가 입력된다. 색차 오프셋 재구축부(243)는 입력되는 이 정보를 사용하여 색차 오프셋을 재구축하고, 재구축된 색차 오프셋의 정보를 색차 오프셋부(244)에 공급한다.
색차 오프셋부(244)에서는, 도 17의 색차 오프셋 산출부(141) 및 색차 오프셋부(144)와 동일한 방식으로 휘도 신호의 쿼드 트리 구조에 대하여 상술한 바와 같은 색차 신호의 경우의 분할수, 밴드수, 또는 카테고리의 대응이 미리 결정된다. 이것을 고려하여, 색차 오프셋부(244)는 디블록 후의 색차 신호의 화소값에 대하여 오프셋 처리를 행한다. 즉, 색차 오프셋부(244)는 쿼드 트리 구조 버퍼(231)에 의해 쿼드 트리 분할된 각 영역의 색차의 화소값에 대하여 색차 오프셋 재구축부(243)를 사용하여 재구축된 색차 오프셋값을 가산한다. 색차 오프셋부(244)는 오프셋 처리 후의 화소값을 화소 버퍼(234)에 축적한다.
<복호 처리의 흐름>
이어서, 이상과 같은 화상 복호 장치(201)에 의해 실행되는 각 처리의 흐름에 대해서 설명한다. 최초에, 도 22의 흐름도를 참조하여 복호 처리의 흐름의 예를 설명한다.
복호 처리가 개시되면, 스텝 S201에서, 축적 버퍼(41)는 전송되어 온 부호화 데이터를 축적한다. 스텝 S202에서, 가역 복호부(42)는 축적 버퍼(41)로부터 공급되는 부호화 데이터를 복호한다. 즉, 도 16의 가역 부호화부(16)를 사용하여 부호화된 I 픽처, P 픽처, 및 B 픽처가 복호된다.
이때, 움직임 벡터 정보, 참조 프레임 정보, 예측 모드 정보(인트라 예측 모드 또는 인터 예측 모드), 및 적응 오프셋 파라미터의 정보가 복호된다.
예측 모드 정보가 인트라 예측 모드 정보인 경우, 예측 모드 정보는 인트라 예측부(51)에 공급된다. 예측 모드 정보가 인터 예측 모드 정보인 경우, 예측 모드 정보가 움직임 보상부(52)에 공급된다. 또한, 적응 오프셋 파라미터 중 쿼드 트리 구조 및 휘도 오프셋은 적응 오프셋부(211)에 공급된다. 적응 오프셋 파라미터 중 상관 계수 α 및 β, 및 색차 오프셋 잔차는 색차 적응 오프셋부(212)에 공급된다.
스텝 S203에서, 인트라 예측부(51) 또는 움직임 보상부(52)는 가역 복호부(42)로부터 공급되는 예측 모드 정보에 대응하도록 각각 예측 화상 생성 처리를 행한다.
즉, 가역 복호부(42)로부터 인트라 예측 모드 정보가 공급된 경우, 인트라 예측부(51)는 최고 확률 모드(most probable mode)의 생성을 행하고, 병렬 처리를 사용하여 인트라 예측 모드의 인트라 예측 화상을 생성한다. 가역 복호부(42)로부터 인터 예측 모드 정보가 공급된 경우, 움직임 보상부(52)는 인터 예측 모드의 움직임 예측 및 보상 처리를 행하고 인터 예측 화상을 생성한다.
이 처리에 의해, 인트라 예측부(51)에 의해 생성된 예측 화상(인트라 예측 화상) 또는 움직임 보상부(52)에 의해 생성된 예측 화상(인터 예측 화상)이 화상 선택부(53)에 공급된다.
스텝 S204에서, 화상 선택부(53)는 예측 화상을 선택한다. 즉, 인트라 예측부(51)에 의해 생성된 예측 화상 또는 움직임 보상부(52)에 의해 생성된 예측 화상이 공급된다. 따라서, 공급된 예측 화상이 선택되어서 연산부(45)에 공급되어, 후술하는 스텝 S206에서 역직교 변환부(44)의 출력과 가산된다.
상술한 스텝 S202에서, 가역 복호부(42)에 의해 복호된 변환 계수는 역양자화부(43)에도 공급된다. 스텝 S205에서, 역양자화부(43)는 가역 복호부(42)에 의해 복호된 변환 계수를 도 16의 양자화부(15)의 특성에 대응하는 특성으로 역양자화한다.
스텝 S206에서, 역직교 변환부(44)는 역양자화부(43)에 의해 역양자화된 변환 계수를 도 16의 직교 변환부(14)의 특성에 대응하는 특성으로 역직교 변환한다. 이에 의해, 도 16의 직교 변환부(14)의 입력(연산부(13)의 출력)에 대응하는 차분 정보가 복호된다.
스텝 S207에서, 연산부(45)는 상술한 스텝 S204의 처리에서 선택되어 화상 선택부(53)를 통해서 입력되는 예측 화상을 차분 정보와 가산한다. 이에 의해,원래의 화상이 복호된다. 스텝 S208에서, 디블록 필터(46)는 연산부(45)로부터 출력된 화상에 대하여 디블록 필터 처리를 행한다. 이에 의해, 화면 전체에서의 블록 왜곡이 제거된다.
스텝 S209에서, 적응 오프셋부(211) 및 색차 적응 오프셋부(212)는 적응 오프셋 처리를 행한다. 이 적응 오프셋 처리의 상세한 것은 도 23을 참조하여 후술된다. 이 처리에 의해, 가역 복호부(42)로부터의 쿼드 트리 구조 및 휘도 오프셋의 정보를 사용하여 디블록 후의 휘도 신호에 오프셋 처리가 실시된다.
또한, 가역 복호부(42)로부터의 쿼드 트리 구조, 휘도 오프셋값, 상관 계수, 및 색차 오프셋 잔차를 사용하여 색차 오프셋값이 재구축된다. 그리고, 쿼드 트리 구조 및 색차 오프셋값을 사용하여 디블록 후의 색차 신호에 오프셋 처리가 실시된다. 오프셋 후의 화소값은 적응 루프 필터(91)에 공급된다.
스텝 S210에서, 적응 루프 필터(91)는 적응 필터 계수를 사용하여 오프셋 처리 후의 화소값에 대하여 적응 루프 필터 처리를 행한다. 적응 필터 처리 후의 화소값은 화면 재배열 버퍼(47) 및 프레임 메모리(49)에 출력된다.
스텝 S211에서, 프레임 메모리(49)는 적응 필터링된 화상을 기억한다.
스텝 S212에서, 화면 재배열 버퍼(47)는 적응 루프 필터(91) 후의 화상의 재배열을 행한다. 즉, 화상 부호화 장치(101)의 화면 재배열 버퍼(12)에 의해 부호화를 위해서 재배열된 프레임의 순서가 원래의 표시의 순서로 재배열된다.
스텝 S213에서, D/A 변환부(48)는 화면 재배열 버퍼(47)로부터 공급된 화상을 D/A 변환한다. 이 화상은 도시하지 않은 디스플레이에 출력되어 화상이 표시된다.
스텝 S213의 처리가 종료되면, 복호 처리가 종료된다.
<적응 오프셋 처리의 흐름>
이어서, 도 23의 흐름도를 참조하여 도 22의 스텝 S209에서 실행되는 적응 오프셋 처리의 흐름의 예를 설명한다.
가역 복호부(42)로부터의 쿼드 트리 구조의 정보는 쿼드 트리 구조 버퍼(231)에 공급된다. 스텝 S231에서, 쿼드 트리 구조 버퍼(231)는 가역 복호부(42)로부터의 쿼드 트리 구조의 정보를 수신하고 축적한다. 그 후, 쿼드 트리 구조 버퍼(231)는 휘도 오프셋부(233)에 쿼드 트리 구조의 정보를 공급한다.
가역 복호부(42)로부터의 휘도 오프셋의 정보는 휘도 오프셋 버퍼(232)에 공급된다. 스텝 S232에서, 휘도 오프셋 버퍼(232)는 가역 복호부(42)로부터의 휘도 신호에 대한 오프셋(휘도 오프셋)의 정보를 수신하고 축적한다. 그리고, 휘도 오프셋 버퍼(232)는 소정의 타이밍에서 휘도 오프셋의 정보를 휘도 오프셋부(233) 및 색차 오프셋 재구축부(243)에 공급한다.
가역 복호부(42)로부터의 상관 계수 α 및 β는 상관 계수 버퍼(241)에 공급된다. 스텝 S233에서, 상관 계수 버퍼(241)는 가역 복호부(42)로부터의 상관 계수α 및 β를 수신하고 축적한다. 상관 계수 버퍼(241)는 소정의 타이밍에서 축적된 상관 계수 α 및 β를 색차 오프셋 재구축부(243)에 공급한다.
가역 복호부(42)로부터의 색차 오프셋 잔차는 색차 오프셋 잔차 버퍼(242)에 공급된다. 스텝 S234에서, 색차 오프셋 잔차 버퍼(242)는 가역 복호부(42)로부터의 색차 신호에 대한 오프셋 잔차(색차 오프셋 잔차)를 수신하고 축적한다. 그리고, 색차 오프셋 잔차 버퍼(242)는 소정의 타이밍에서 축적된 색차 오프셋 잔차를 색차 오프셋 재구축부(243)에 공급한다.
색차 오프셋 재구축부(243)에는, 쿼드 트리 구조 버퍼(231)로부터의 쿼드 트리 구조, 휘도 오프셋 버퍼(232)로부터의 휘도 오프셋, 상관 계수 버퍼(241)로부터의 상관 계수, 및 색차 오프셋 잔차 버퍼(242)로부터의 색차 오프셋 잔차가 입력된다. 스텝 S235에서, 색차 오프셋 재구축부(243)는 입력되는 이 정보를 사용하여 색차 신호에 대한 오프셋값(색차 오프셋값)을 재구축하고, 재구축된 색차 오프셋의 정보를 색차 오프셋부(244)에 공급한다.
스텝 S236에서, 휘도 오프셋부(233) 및 색차 오프셋부(244)는 디블록 후의 색차 신호의 화소값에 대하여 오프셋 처리를 행한다. 즉, 휘도 오프셋부(233)는 쿼드 트리 구조 버퍼(231)에 의해 쿼드 트리 분할된 각 영역의 휘도의 화소값에 대하여 휘도 오프셋 버퍼(232)로부터의 휘도 오프셋값을 가산한다. 휘도 오프셋부(233)는 오프셋 처리 후의 화소값을 화소 버퍼(234)에 축적한다.
또한, 색차 오프셋부(244)는 쿼드 트리 구조 버퍼(231)에 의해 쿼드 트리 분할된 각 영역의 색차의 화소값에 대하여 색차 오프셋 재구축부(243)에 의해 재구축된 색차 오프셋값을 가산한다. 색차 오프셋부(144)는 오프셋 처리 후의 화소값을 화소 버퍼(234)에 축적한다.
그 후, 화소 버퍼(234)는 휘도 신호 및 색차 신호의 오프셋 처리 후의 화소값의 양쪽이 정렬되는 것을 기다리고, 정렬된 오프셋 처리 후의 화소값을 적응 루프 필터(91)에 공급하고, 적응 오프셋 처리는 종료된다.
이상과 같이, 색차 신호에 대해서는 휘도 신호에 기초하여 결정된 쿼드 트리 구조에 기초하여 오프셋 처리가 실시되므로, 연산량의 증대를 억제하면서 부호화 효율을 개선할 수 있다.
또한, 색차 신호에 대해서는, 휘도 신호의 오프셋값과 상관 계수를 사용하여 산출된 오프셋의 잔차가 복호측에 보내지므로, 부호화 효율을 향상시킬 수 있다.
이상에서는, 부호화 방식으로서, H.264/AVC 방식을 기초로 사용하도록 했지만, 본 발명은 이에 한정하지 않고, 움직임 예측 및 보상 루프 내에 적응 필터를 포함하는 기타의 부호화 방식 및 복호 방식을 적용할 수 있다.
또한, 예를 들어, 본 발명은 MPEG, H.26x 등과 동일한 방식으로 이산 코사인 변환 등의 직교 변환과 움직임 보상에 의해 압축된 화상 정보(비트 스트림)를 위성 방송, 케이블 텔레비전, 인터넷 또는 휴대 전화기 등의 네트워크 미디어를 통해서 수신할 때에 사용되는 화상 부호화 장치 및 화상 복호 장치에 적용할 수 있다. 또한, 본 발명은 광 또는 자기 디스크 및 플래시 메모리와 같은 기억 미디어 상에서 처리할 때에 사용되는 화상 부호화 장치 및 화상 복호 장치에 적용할 수 있다. 또한, 본 발명은 화상 부호화 장치 및 화상 복호 장치를 포함하는 움직임 예측 및 보상 장치에도 적용할 수 있다.
<3. 제3 실시 형태>
<퍼스널 컴퓨터>
여기서, 상술한 일련의 처리는 하드웨어를 사용하여 실행할 수도 있거나 또는 소프트웨어를 사용하여 실행할 수도 있다. 상술한 일련의 처리를 소프트웨어를 사용하여 실행하는 경우에는, 그 소프트웨어를 구성하는 프로그램이 컴퓨터에 인스톨된다. 여기서, 컴퓨터에는, 전용의 하드웨어가 내장되어 있는 컴퓨터, 각종 프로그램을 인스톨함으로써 각종 기능을 실행하는 것이 가능한 범용의 퍼스널 컴퓨터 등이 포함된다.
도 24에서, 퍼스널 컴퓨터(500)의 CPU(Central Processing Unit)(501)는 ROM(Read Only Memory)(502)에 기억되어 있는 프로그램 또는 기억부(513)로부터 RAM(Random Access Memory)(503)에 로드된 프로그램에 따라서 각종 처리를 실행한다. RAM(503)에는, 또한, CPU(501)에 각종 처리를 실행하기 위해 필요한 데이터 등이 적절히 기억된다.
CPU(501), ROM(502), 및 RAM(503)은 버스(504)를 통해서 서로 접속되어 있다. 이 버스(504)에는 또한 입/출력 인터페이스(510)가 접속되어 있다.
입/출력 인터페이스(510)에는 키보드, 마우스 등으로 되는 입력부(511), CRT(Cathode Ray Tube), LCD(Liquid Crystal Display) 등으로 되는 디스플레이, 및 스피커 등으로 되는 출력부(512), 하드 디스크 등으로 구성되는 기억부(513)와 모뎀 등으로 구성되는 통신부(514)가 접속되어 있다. 통신부(514)는 인터넷을 포함하는 네트워크를 통해서 통신 처리를 행한다.
또한, 입/출력 인터페이스(510)에는 필요에 따라 드라이브(515)가 접속되고, 자기 디스크, 광 디스크, 광자기 디스크, 또는 반도체 메모리 등의 리무버블 미디어(521)가 적절히 장착되어, 그것들로부터 판독된 컴퓨터 프로그램이 필요에 따라 기억부(513)에 인스톨된다.
상술한 일련의 처리를 소프트웨어를 사용하여 실행시키는 경우에는, 그 소프트웨어를 구성하는 프로그램이 네트워크 또는 기록 매체로부터 인스톨된다.
여기서, 이 기록 매체는, 도 24에 도시된 바와 같이, 장치 본체와는 별도로, 유저에 프로그램을 배신하기 위해서 배포되는 프로그램이 기록되어 있는 자기 디스크(플렉시블 디스크를 포함한다), 광 디스크(CD-ROM(Compact Disc-Read Only Memory) 또는 DVD(Digital Versatile Disc)를 포함한다), 광자기 디스크(MD(Mini Disc)를 포함한다), 반도체 메모리 등으로 이루어지는 리무버블 미디어(521)에 의해 구성될 뿐만 아니라, 장치 본체에 미리 내장된 상태에서 유저에 배신되는 프로그램이 기록되어 있는 ROM(502) 또는 기억부(513)에 포함되는 하드 디스크 등으로 구성된다.
또한, 컴퓨터가 실행하는 프로그램은 본 명세서에서 설명하는 순서에 따라서 시계열로 처리가 행해지는 프로그램일 수 있고, 병렬로 또는 호출이 행해졌을 때 등의 필요한 타이밍에 처리가 행해지는 프로그램일 수 있다.
또한, 본 명세서에서, 기록 매체에 기록되는 프로그램을 기술하는 스텝은 기재된 순서에 따라서 시계열적으로 행해지는 처리는 물론, 반드시 시계열적으로 처리되지 않고도, 병렬적 또는 개별로 실행되는 처리도 포함하는 것이다.
또한, 본 명세서에서, 시스템은 복수의 디바이스(장치)를 사용하여 구성되는 장치 전체를 나타내는 것이다.
또한, 이상에서, 1개의 장치(또는 처리부)로서 설명한 구성을 분할하고, 복수의 장치(또는 처리부)로서 구성할 수 있다. 반대로, 이상에서 복수의 장치(또는 처리부)로서 설명한 구성을 통합해서 1개의 장치(또는 처리부)로서 구성될 수 있다. 또한, 각 장치(또는 각 처리부)의 구성에 상술한 이외의 구성을 부가할 수 있다. 또한, 시스템 전체적으로서의 구성 또는 동작이 실질적으로 동일하면, 어떤 장치(또는 처리부)의 구성의 일부를 다른 장치(또는 다른 처리부)의 구성에 포함할 수 있다. 즉, 본 기술은, 상술한 실시 형태에 한정되는 것이 아니라, 본 기술의 요지를 벗어나지 않는 범위에서 다양한 변경이 가능하다.
상술한 실시 형태에 관한 화상 부호화 장치 및 화상 복호 장치는 위성 방송, 케이블 TV 등의 유선 방송, 인터넷 상에서의 배신 및 셀룰러 통신을 사용하는 단말기에의 배신 등에서의 송신기 또는 수신기, 광 디스크, 자기 디스크, 또는 플래시 메모리 등의 매체에 화상을 기록하는 기록 장치, 또는, 기억 매체로부터 화상을 재생하는 재생 장치 등의 다양한 전자 기기에 응용될 수 있다. 이하, 4개의 응용예에 대해서 설명한다.
<4. 제4 실시 형태>
<제1 응용예: 텔레비전 수상기>
도 25는 상술한 실시 형태를 적용한 텔레비전 장치의 개략적인 구성의 일례를 나타낸 블록도이다. 텔레비전 장치(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)에 표시시킬 수 있다. 또한, 영상 신호 처리부(906)는 영상 데이터에 대해서, 설정에 따라, 예를 들어, 노이즈 제거 등의 추가적인 처리를 행할 수 있다. 또한, 영상 신호 처리부(906)는, 예를 들어, 메뉴, 버튼 또는 커서 등의 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)는 상술한 실시 형태에 관한 화상 복호 장치의 기능을 갖는다. 이것에 의하여, 텔레비전 장치(900)에서의 화상의 복호 시에 색차 신호에 대한 부호화 효율을 향상시킬 수 있다.
<5. 제5 실시 형태>
<제2 응용예: 휴대 전화기>
도 26은 상술한 실시 형태를 적용한 휴대 전화기의 개략적인 구성의 일례를 나타낸 블록도이다. 휴대 전화기(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(Unallocated Space Bitmap) 메모리, 또는 메모리 카드 등의 외부 장착형의 기억 매체일 수 있다.
또한, 촬영 모드에서, 예를 들어, 카메라부(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)는 상술한 실시 형태에 관한 화상 부호화 장치 및 화상 복호 장치의 기능을 갖는다. 이것에 의하여, 휴대 전화기(920)에서의 화상의 부호화 및 복호 시에, 색차 신호에 대한 부호화 효율을 향상시킬 수 있다.
<6. 제6 실시 형태>
<제3 응용예: 기록 재생 장치>
도 27은 상술한 실시 형태를 적용한 기록 재생 장치의 개략적인 구성의 일례를 나타낸 블록도이다. 기록 재생 장치(940)는, 예를 들어, 수신한 방송 프로그램의 음성 데이터 및 영상 데이터를 부호화해서 기록 매체에 기록한다. 또한, 기록 재생 장치(940)는, 예를 들어, 다른 장치로부터 취득되는 음성 데이터 및 영상 데이터를 부호화해서 기록 매체에 기록할 수 있다. 또한, 기록 재생 장치(940)는 기록 매체에 기록되어 있는 데이터를 모니터 및 스피커 상에서 재생한다. 이때, 기록 재생 장치(940)는 음성 데이터 및 영상 데이터를 복호한다.
기록 재생 장치(940)는 튜너(941), 외부 인터페이스(942), 인코더(943), HDD(Hard Disk Drive)(944), 디스크 드라이브(945), 셀렉터(946), 디코더(947), OSD(On-Screen Display)(948), 제어부(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)는 상술한 실시 형태에 관한 화상 부호화 장치의 기능을 갖는다. 또한, 디코더(947)는 상술한 실시 형태에 관한 화상 복호 장치의 기능을 갖는다. 이것에 의하여, 기록 재생 장치(940)에서의 화상의 부호화 및 복호 시에, 색차 신호에 대한 부호화 효율을 향상시킬 수 있다.
<7. 제7 실시 형태>
<제4 응용예: 촬상 장치>
도 28은 상술한 실시 형태를 적용한 촬상 장치의 개략적인 구성의 일례를 나타낸 블록도이다. 촬상 장치(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), 표시부(965), 외부 인터페이스(966), 메모리(967), 미디어 드라이브(968), OSD(969), 및 제어부(970)를 서로 접속한다.
광학 블록(961)은 포커스 렌즈 및 조리개 기구 등을 갖는다. 광학 블록(961)은 피사체의 광학 상을 촬상부(962)의 촬상면에 결상시킨다. 촬상부(962)는 CCD(Charge Coupled Device) 또는 CMOS(Complementary Metal Oxide Semiconductor) 등의 이미지 센서를 갖고, 촬상면에 결상한 광학 상을 광전 변환에 의해 전기 신호로서의 화상 신호로 변환한다. 그리고, 촬상부(962)는 화상 신호를 신호 처리부(963)에 출력한다.
신호 처리부(963)는 촬상부(962)로부터 입력되는 화상 신호에 대하여 니(knee) 보정, 감마 보정, 색 보정 등의 다양한 카메라 신호 처리를 행한다. 신호 처리부(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)는 상술한 실시 형태에 관한 화상 부호화 장치 및 화상 복호 장치의 기능을 갖는다. 이것에 의하여, 촬상 장치(960)에서의 화상의 부호화 및 복호 시에, 색차 신호에 대한 부호화 효율을 향상시킬 수 있다.
또한, 본 명세서에서는, 색차 양자화 파라미터 등의 각종 정보가 부호화 스트림에 다중화되어서 부호화측으로부터 복호측에 전송되는 예에 대해서 설명했다. 그러나, 정보를 전송하는 방법은 본 예에 한정되지 않는다. 예를 들어, 정보는 부호화 비트 스트림에 다중화되지 않고, 부호화 비트 스트림과 관련된 별개인 데이터로서 전송되거나 또는 기록될 수 있다. 여기서,「관련된」이라고 하는 용어는 비트 스트림에 포함되는 화상(슬라이스 또는 블록 등, 화상의 일부일 수 있다)과 이 화상에 대응하는 정보를 복호 시에 링크시킬 수 있도록 하는 것을 의미한다. 즉, 정보는 화상(또는 비트 스트림)과는 다른 전송로상에서 전송될 수 있다. 또한, 정보는 화상(또는 비트 스트림)과는 다른 기록 매체(또는 동일한 기록 매체의 다른 기록 에리어)에 기록될 수 있다. 또한, 정보와 화상(또는 비트 스트림)은, 예를 들어, 복수 프레임, 1 프레임, 또는 프레임 내의 일부분 등의 임의의 단위에서 서로 관련될 수 있다.
이상, 첨부 도면을 참조하면서 본 발명의 적합한 실시 형태에 대해서 상세하게 설명했지만, 본 발명은 이들 예에 한정되지 않는다. 본 발명이 속하는 기술의 분야에서의 통상의 지식을 갖는 자이면, 특허 청구 범위에 기재된 기술적 사상의 범주 내에서, 각종 변경 또는 수정이 가능한 것은 명확하고, 이들은 당연히 본 발명의 기술적 범위에 속하는 것으로 해석된다.
(1) 복호될 화상의 휘도 신호에 대해 휘도 적응 오프셋 처리를 행하는 휘도 적응 오프셋 처리부; 및
상기 휘도 적응 오프셋 처리부에 의한 상기 휘도 적응 오프셋 처리에 의해 생성된 데이터에 기초하여 색차 신호에 대해 색차 적응 오프셋 처리를 행하여 복호된 화상을 생성하는 색차 적응 오프셋 처리부
를 포함하는, 화상 복호 장치.
(2) (1)에 있어서, 상기 휘도 적응 오프셋 처리부는 상기 화상을 복수의 영역으로 분할하고 상기 복수의 영역마다 상기 휘도 적응 오프셋 처리를 행하고, 상기 색차 적응 오프셋 처리부는 상기 복수의 영역마다 상기 휘도 적응 오프셋 처리를 행하는, 화상 복호 장치.
(3) (2)에 있어서, 상기 휘도 적응 오프셋 처리부는 상기 화상을 쿼드 트리 구조를 만드는 복수의 영역으로 분할하고 상기 쿼드 트리 구조에 대해 상기 휘도 적응 오프셋 처리를 행하고, 상기 색차 적응 오프셋 처리부는 상기 쿼드 트리 구조에 대해 상기 휘도 적응 오프셋 처리를 행하는, 화상 복호 장치.
(4) (2)에 있어서, 상기 휘도 적응 오프셋 처리부는 상기 복수의 영역 각각에 대한 오프셋의 종류를 결정하고 상기 오프셋의 종류에 기초하여 상기 복수의 영역마다 상기 휘도 적응 오프셋 처리를 행하고, 상기 색차 적응 오프셋 처리부는 상기 오프셋의 종류에 기초하여 상기 복수의 영역 중 일부에 대해 휘도 적응 오프셋 처리를 행하는, 화상 복호 장치.
(5) (4)에 있어서, 상기 휘도 적응 오프셋 처리부는 3개의 오프셋 집합 중에서 오프셋의 종류를 결정하는, 화상 복호 장치.
(6) (5)에 있어서, 상기 3개의 오프셋 집합은 오프셋 없음, 밴드 오프셋, 및 에지 오프셋인, 화상 복호 장치.
(7) (1) 내지 (6)에 있어서, 상기 휘도 적응 오프셋 처리부는 상기 화상에서의 각 화소에 대한 카테고리를 결정하고 상기 카테고리에 기초하여 각 화소에 대해 상기 휘도 적응 오프셋 처리를 행하고, 상기 색차 적응 오프셋 처리부는 상기 카테고리에 기초하여 일부 화소에 대해 상기 휘도 적응 오프셋 처리를 행하는, 화상 복호 장치.
(8) (1) 내지 (7)에 있어서, 상기 휘도 적응 오프셋 처리부는 오프셋의 휘도 서브 밴드의 수를 결정하고 상기 휘도 서브 밴드의 수에 기초하여 상기 휘도 적응 오프셋 처리를 행하고, 상기 색차 적응 오프셋 처리부는 상기 휘도 서브 밴드의 수보다 작은 색차 서브 밴드의 수에 기초하여 상기 휘도 적응 오프셋 처리를 행하는, 화상 복호 장치.
(9) 부호화될 화상의 휘도 신호에 대한 휘도 적응 오프셋 처리를 행하는 휘도 적응 오프셋 처리부; 및
상기 휘도 적응 오프셋 처리부에 의한 상기 휘도 적응 오프셋 처리에 의해 생성된 데이터에 기초하여 색차 신호에 대한 색차 적응 오프셋 처리를 행하여 부호화된 화상을 생성하는 색차 적응 오프셋 처리부
를 포함하는, 화상 부호화 장치.
16: 가역 부호화부
21: 디블록 필터
42: 가역 복호부
46: 디블록 필터
71: 적응 루프 필터
91: 적응 루프 필터
101: 화상 부호화 장치
111: 적응 오프셋부
112: 색차 적응 오프셋부
131: 쿼드 트리 구조 결정부
132: 휘도 오프셋 산출부
133: 휘도 오프셋부
134: 화소 버퍼
141: 색차 오프셋 산출부
142: 상관 계수 산출부
143: 색차 오프셋 예측값 산출부
144: 색차 오프셋부
201: 화상 복호 장치
211: 적응 오프셋부
212: 색차 적응 오프셋부
231: 쿼드 트리 구조 버퍼
232: 휘도 오프셋 버퍼
233: 휘도 오프셋부
234: 화소 버퍼
241: 상관 계수 버퍼
242: 색차 오프셋 잔차 버퍼
243: 색차 오프셋 재구축부
244: 색차 오프셋부

Claims (9)

  1. 화상 복호 장치로서,
    복호될 화상의 제1 성분 신호에 대해 제1 성분 적응 오프셋 처리를 행하는 제1 성분 적응 오프셋 처리부; 및
    상기 제1 성분 적응 오프셋 처리부에 의한 상기 제1 성분 적응 오프셋 처리에 의해 사용된 데이터에 기초하여 제2 성분 신호에 대해 제2 성분 적응 오프셋 처리를 행하여 복호된 화상을 생성하는 제2 성분 적응 오프셋 처리부
    를 포함하는, 화상 복호 장치.
  2. 제1항에 있어서, 상기 제1 성분 적응 오프셋 처리부는 상기 화상을 복수의 영역으로 분할하고 상기 복수의 영역마다 상기 제1 성분 적응 오프셋 처리를 행하고, 상기 제2 성분 적응 오프셋 처리부는 상기 복수의 영역마다 상기 제1 성분 적응 오프셋 처리를 행하는, 화상 복호 장치.
  3. 제2항에 있어서, 상기 제1 성분 적응 오프셋 처리부는 상기 화상을 쿼드 트리(quad-tree) 구조를 만드는 복수의 영역으로 분할하고 상기 쿼드 트리 구조에 대해 상기 제1 성분 적응 오프셋 처리를 행하고, 상기 제2 성분 적응 오프셋 처리부는 상기 쿼드 트리 구조에 대해 상기 제1 성분 적응 오프셋 처리를 행하는, 화상 복호 장치.
  4. 제2항에 있어서, 상기 제1 성분 적응 오프셋 처리부는 상기 복수의 영역 각각에 대한 오프셋의 종류를 결정하고 상기 오프셋의 종류에 기초하여 상기 복수의 영역마다 상기 제1 성분 적응 오프셋 처리를 행하고, 상기 제2 성분 적응 오프셋 처리부는 상기 오프셋의 종류에 기초하여 상기 복수의 영역 중 일부에 대해 제1 성분 적응 오프셋 처리를 행하는, 화상 복호 장치.
  5. 제4항에 있어서, 상기 제1 성분 적응 오프셋 처리부는 3개의 오프셋 집합 중에서 오프셋의 종류를 결정하는, 화상 복호 장치.
  6. 제5항에 있어서, 상기 3개의 오프셋 집합은 오프셋 없음(no offset), 밴드 오프셋(band offset), 및 에지 오프셋(edge offset)인, 화상 복호 장치.
  7. 제1항에 있어서, 상기 제1 성분 적응 오프셋 처리부는 상기 화상에서의 각 화소에 대한 카테고리를 결정하고 상기 카테고리에 기초하여 각 화소에 대해 상기 제1 성분 적응 오프셋 처리를 행하고, 상기 제2 성분 적응 오프셋 처리부는 상기 카테고리에 기초하여 일부 화소에 대해 상기 제1 성분 적응 오프셋 처리를 행하는, 화상 복호 장치.
  8. 제1항에 있어서, 상기 제1 성분 적응 오프셋 처리부는 오프셋의 제1 성분 서브 밴드의 수를 결정하고 상기 제1 성분 서브 밴드의 수에 기초하여 상기 제1 성분 적응 오프셋 처리를 행하고, 상기 제2 성분 적응 오프셋 처리부는 상기 제1 성분 서브 밴드의 수보다 작은 제2 성분 서브 밴드의 수에 기초하여 상기 제1 성분 적응 오프셋 처리를 행하는, 화상 복호 장치.
  9. 화상 부호화 장치로서,
    부호화될 화상의 제1 성분 신호에 대해 제1 성분 적응 오프셋 처리를 행하는 제1 성분 적응 오프셋 처리부; 및
    상기 제1 성분 적응 오프셋 처리부에 의한 상기 제1 성분 적응 오프셋 처리에 의해 사용된 데이터에 기초하여 제2 성분 신호에 대해 제2 성분 적응 오프셋 처리를 행하여 부호화된 화상을 생성하는 제2 성분 적응 오프셋 처리부
    를 포함하는, 화상 부호화 장치.
KR1020137033662A 2011-06-28 2012-06-21 화상 처리 장치 및 방법 KR20140048885A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2011143248A JP5907367B2 (ja) 2011-06-28 2011-06-28 画像処理装置および方法、プログラム、並びに記録媒体
JPJP-P-2011-143248 2011-06-28
PCT/JP2012/004016 WO2013001752A1 (en) 2011-06-28 2012-06-21 Image processing device and method

Publications (1)

Publication Number Publication Date
KR20140048885A true KR20140048885A (ko) 2014-04-24

Family

ID=47423681

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137033662A KR20140048885A (ko) 2011-06-28 2012-06-21 화상 처리 장치 및 방법

Country Status (8)

Country Link
US (1) US10187664B2 (ko)
EP (1) EP2727360A4 (ko)
JP (1) JP5907367B2 (ko)
KR (1) KR20140048885A (ko)
CN (3) CN107770536B (ko)
BR (2) BR122022012727B1 (ko)
RU (2) RU2701715C2 (ko)
WO (1) WO2013001752A1 (ko)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7295609B2 (en) 2001-11-30 2007-11-13 Sony Corporation Method and apparatus for coding image information, method and apparatus for decoding image information, method and apparatus for coding and decoding image information, and system of coding and transmitting image information
JP5359657B2 (ja) 2009-07-31 2013-12-04 ソニー株式会社 画像符号化装置および方法、記録媒体、並びにプログラム
JP5914962B2 (ja) 2010-04-09 2016-05-11 ソニー株式会社 画像処理装置および方法、プログラム、並びに、記録媒体
TWI508534B (zh) 2010-05-18 2015-11-11 Sony Corp Image processing apparatus and image processing method
HUE047906T2 (hu) 2010-06-04 2020-05-28 Sony Corp QP és delta QP kódolása egy minimális méretnél nagyobb képblokkoknál
MX2013006130A (es) 2010-12-07 2013-06-28 Sony Corp Dispositivo de procesamiento de imagenes y metodo de procesamiento de imagenes.
WO2012077607A1 (ja) 2010-12-07 2012-06-14 ソニー株式会社 画像処理装置及び画像処理方法
JP5741076B2 (ja) 2010-12-09 2015-07-01 ソニー株式会社 画像処理装置及び画像処理方法
CN103780912B (zh) 2011-02-10 2017-11-24 威勒斯媒体国际有限公司 图像处理装置和图像处理方法
US9135724B2 (en) 2011-03-11 2015-09-15 Sony Corporation Image processing apparatus and method
TWI530161B (zh) 2011-06-07 2016-04-11 Sony Corp Image processing apparatus and method
CN113347420A (zh) 2011-06-28 2021-09-03 索尼公司 图像处理装置和图像处理方法
US9277194B2 (en) * 2011-11-08 2016-03-01 Texas Instruments Incorporated Method and apparatus for image and video coding using hierarchical sample adaptive band offset
CN103765903B (zh) * 2012-01-18 2017-09-01 松下知识产权经营株式会社 图像解码装置、图像编码装置、图像解码方法及图像编码方法
GB2501535A (en) * 2012-04-26 2013-10-30 Sony Corp Chrominance Processing in High Efficiency Video Codecs
TWI595776B (zh) 2012-06-27 2017-08-11 Sony Corp Image processing device and method
CN114697679B (zh) * 2015-09-11 2024-11-08 株式会社Kt 图像解码方法、图像编码方法和包括比特流的设备
JP6634936B2 (ja) * 2016-04-05 2020-01-22 富士通株式会社 画像符号化装置、画像符号化方法、画像符号化プログラム、画像復号装置、画像復号方法、画像復号プログラムおよび画像伝送システム
EP3606077A4 (en) 2017-03-22 2021-01-06 Industry - University Cooperation Foundation Hanyang University LOOP FILTERING PROCESS ACCORDING TO AN ADAPTIVE PIXEL CLASSIFICATION STANDARD
CN114342382B (zh) * 2019-09-06 2024-09-20 索尼集团公司 图像处理装置和图像处理方法
US20230156185A1 (en) * 2021-11-15 2023-05-18 Tencent America LLC Generalized sample offset

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7295609B2 (en) 2001-11-30 2007-11-13 Sony Corporation Method and apparatus for coding image information, method and apparatus for decoding image information, method and apparatus for coding and decoding image information, and system of coding and transmitting image information
WO2003058945A2 (en) * 2002-01-14 2003-07-17 Nokia Corporation Coding dynamic filters
JP4015934B2 (ja) * 2002-04-18 2007-11-28 株式会社東芝 動画像符号化方法及び装置
US6922492B2 (en) * 2002-12-27 2005-07-26 Motorola, Inc. Video deblocking method and apparatus
CN100562129C (zh) * 2004-11-05 2009-11-18 中兴通讯股份有限公司 视频编码的时域滤波方法
RU2287909C2 (ru) * 2004-12-15 2006-11-20 Московский технический университет связи и информатики Способ преобразования цифрового сигнала изображения и устройство для его реализации
US7606429B2 (en) * 2005-03-25 2009-10-20 Ati Technologies Ulc Block-based image compression method and apparatus
JP4593437B2 (ja) * 2005-10-21 2010-12-08 パナソニック株式会社 動画像符号化装置
JPWO2007094100A1 (ja) * 2006-02-13 2009-07-02 株式会社東芝 動画像符号化/復号化方法及び装置並びにプログラム
KR101266168B1 (ko) * 2006-08-16 2013-05-21 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
US9001899B2 (en) * 2006-09-15 2015-04-07 Freescale Semiconductor, Inc. Video information processing system with selective chroma deblock filtering
JP2009194721A (ja) * 2008-02-15 2009-08-27 Fujitsu Microelectronics Ltd 画像信号処理装置、画像信号処理方法、及び撮像装置
RU2011103915A (ru) * 2008-07-04 2012-08-10 Кабусики Кайся Тосиба (Jp) Способ и устройство кодирования/декодирования движущегося изображения
JP4697557B2 (ja) * 2009-01-07 2011-06-08 ソニー株式会社 符号化装置、符号化方法、記録媒体及び画像処理装置
JP5233897B2 (ja) * 2009-07-31 2013-07-10 ソニー株式会社 画像処理装置および方法
JP5359657B2 (ja) 2009-07-31 2013-12-04 ソニー株式会社 画像符号化装置および方法、記録媒体、並びにプログラム
JP5344238B2 (ja) 2009-07-31 2013-11-20 ソニー株式会社 画像符号化装置および方法、記録媒体、並びにプログラム
JP5914962B2 (ja) 2010-04-09 2016-05-11 ソニー株式会社 画像処理装置および方法、プログラム、並びに、記録媒体
TWI508534B (zh) 2010-05-18 2015-11-11 Sony Corp Image processing apparatus and image processing method
HUE047906T2 (hu) 2010-06-04 2020-05-28 Sony Corp QP és delta QP kódolása egy minimális méretnél nagyobb képblokkoknál
MX2013006130A (es) 2010-12-07 2013-06-28 Sony Corp Dispositivo de procesamiento de imagenes y metodo de procesamiento de imagenes.
WO2012077607A1 (ja) 2010-12-07 2012-06-14 ソニー株式会社 画像処理装置及び画像処理方法
JP5741076B2 (ja) 2010-12-09 2015-07-01 ソニー株式会社 画像処理装置及び画像処理方法
CN103780912B (zh) 2011-02-10 2017-11-24 威勒斯媒体国际有限公司 图像处理装置和图像处理方法
US9135724B2 (en) 2011-03-11 2015-09-15 Sony Corporation Image processing apparatus and method
SI3220641T1 (sl) * 2011-04-21 2019-05-31 Hfi Innovation Inc. Postopek in naprava za izboljšano filtriranje v zanki
WO2012155553A1 (en) * 2011-05-16 2012-11-22 Mediatek Inc. Apparatus and method of sample adaptive offset for luma and chroma components
US20120294353A1 (en) * 2011-05-16 2012-11-22 Mediatek Inc. Apparatus and Method of Sample Adaptive Offset for Luma and Chroma Components
TWI530161B (zh) 2011-06-07 2016-04-11 Sony Corp Image processing apparatus and method
PT4135322T (pt) 2011-06-23 2024-09-17 Huawei Tech Co Ltd Dispositivo de descodificação de desvios, dispositivo de codificação de desvios, dispositivo de filtro de imagem e estrutura de dados
CN104980758A (zh) 2011-06-28 2015-10-14 三星电子株式会社 根据像素分类使用偏移调整的视频解码方法及其设备
RU2642364C2 (ru) 2012-06-29 2018-01-24 Вилос Медиа Интернэшнл Лимитед Устройство кодирования и способ кодирования

Also Published As

Publication number Publication date
RU2016112491A3 (ko) 2019-07-24
RU2585657C2 (ru) 2016-06-10
EP2727360A4 (en) 2015-03-11
CN107770536A (zh) 2018-03-06
BR112013033187A2 (pt) 2017-03-01
CN107770536B (zh) 2020-04-21
CN103621098A (zh) 2014-03-05
RU2016112491A (ru) 2018-11-27
CN107770557A (zh) 2018-03-06
JP5907367B2 (ja) 2016-04-26
JP2013012845A (ja) 2013-01-17
RU2013156822A (ru) 2015-06-27
US10187664B2 (en) 2019-01-22
WO2013001752A1 (en) 2013-01-03
US20140092958A1 (en) 2014-04-03
CN103621098B (zh) 2017-12-05
RU2701715C2 (ru) 2019-09-30
BR122022012727B1 (pt) 2023-03-14
BR112013033187B1 (pt) 2022-10-11
EP2727360A1 (en) 2014-05-07
CN107770557B (zh) 2020-11-24

Similar Documents

Publication Publication Date Title
JP5907367B2 (ja) 画像処理装置および方法、プログラム、並びに記録媒体
JP5942990B2 (ja) 画像処理装置および方法
US10419756B2 (en) Image processing device and method
US11601685B2 (en) Image processing device and method using adaptive offset filter in units of largest coding unit
KR20130070597A (ko) 화상 처리 장치와 화상 처리 방법
WO2013002110A1 (ja) 画像処理装置および方法
WO2013061852A1 (ja) 画像処理装置および方法
US20150189327A1 (en) Image processing device and method
WO2012128191A1 (ja) 画像処理装置および方法
WO2013108688A1 (ja) 画像処理装置および方法
US9930353B2 (en) Image decoding device and method
US20140092979A1 (en) Image processing apparatus and method
EP4272448A1 (en) Multiple neural network models for filtering during video coding
US20140226715A1 (en) Image processing device and method
WO2013154026A1 (ja) 画像処理装置および方法
WO2012105406A1 (ja) 画像処理装置および方法
JP6341304B2 (ja) 画像処理装置および方法、プログラム、並びに記録媒体
WO2013051453A1 (ja) 画像処理装置および方法
JP5999449B2 (ja) 画像処理装置および方法、プログラム、並びに記録媒体
WO2013002106A1 (ja) 画像処理装置および方法
WO2013065567A1 (ja) 画像処理装置および方法
JP6094838B2 (ja) 画像処理装置および方法、プログラム、並びに記録媒体
WO2012157488A1 (ja) 画像処理装置および方法
WO2013002111A1 (ja) 画像処理装置および方法

Legal Events

Date Code Title Description
E601 Decision to refuse application