KR101780084B1 - 공간 예측 방법, 화상 복호 방법, 및 화상 부호화 방법 - Google Patents

공간 예측 방법, 화상 복호 방법, 및 화상 부호화 방법 Download PDF

Info

Publication number
KR101780084B1
KR101780084B1 KR1020127026384A KR20127026384A KR101780084B1 KR 101780084 B1 KR101780084 B1 KR 101780084B1 KR 1020127026384 A KR1020127026384 A KR 1020127026384A KR 20127026384 A KR20127026384 A KR 20127026384A KR 101780084 B1 KR101780084 B1 KR 101780084B1
Authority
KR
South Korea
Prior art keywords
block
prediction
pixel
value
gradient
Prior art date
Application number
KR1020127026384A
Other languages
English (en)
Other versions
KR20130050288A (ko
Inventor
비르지니 드루젼
요우지 시바하라
다카히로 니시
히사오 사사이
교코 다니카와
Original Assignee
선 페이턴트 트러스트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 선 페이턴트 트러스트 filed Critical 선 페이턴트 트러스트
Publication of KR20130050288A publication Critical patent/KR20130050288A/ko
Application granted granted Critical
Publication of KR101780084B1 publication Critical patent/KR101780084B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • 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/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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

Abstract

공간 예측의 복잡도를 저감할 수 있는 공간 예측 방법은, 예측 대상 블록에 인접하는 인접 블록 내의 화소간의 수평 구배(Gy) 및 수직 구배(Gx)를 취득함으로써, 예측 대상 블록에 겹치는 에지(E)을 검출하고(S10), 검출된 에지의 정수 경사를 산출하고(S11), 예측 대상 블록 내의 화소위치마다, 산출된 정수 경사가 있고, 또한, 그 화소 위치(440)를 통과하는 선(430)과, 인접 블록의 경계의 교점인 소수 화소 위치(450)를 결정하고(S12), 예측 대상 블록 내의 화소 위치마다, 그 화소 위치에 대하여 결정된 소수 화소 위치(450)에 보간된 화소값에 의거하여, 그 화소 위치(440)의 화소값을 예측하고(S13), 인접 블록의 경계는, 인접 블록에 포함되는 화소의 복수의 열 또는 복수의 행 중의, 예측 대상 블록에 가장 가까운 열 또는 행이다.

Description

공간 예측 방법, 화상 복호 방법, 및 화상 부호화 방법{SPATIAL PREDICTION METHOD, IMAGE DECODING METHOD, AND IMAGE ENCODING METHOD}
본 발명은, 화상의 부호화 및 복호에 있어서의 공간 예측 방법에 관한 것으로, 특히, 에지 검출에 따른 방향성 공간 보간, 또는, 이러한 보간의 효율적인 실장에 관한 것이다.
공간 예측 방법, 즉 공간 보간은, 대부분의 어플리케이션에서 이용되고 있다. 공간 보간은, 특히, 대부분의 화상 및 동화상의 부호화 및 처리 어플리케이션의 본질적인 부분을 형성하고 있다. 하이브리드 화상 또는 동화상(비디오) 부호화 알고리즘에 있어서, 이미 부호화/복호한 블록의 화소에 의거하여 화상 블록의 예측을 결정하기 위해서는, 공간 예측을 이용하는 것이 일반적이다. 한편, 공간 보간은, 복호된 화상 또는 동화상(비디오) 신호의 후처리의 일부로서, 특히 오차 은폐를 위해서 이용될 가능성도 있다.
표준화된 동화상 부호화 알고리즘의 대부분은, 하이브리드 동화상 부호화에 의거한다. 하이브리드 동화상 부호화 방법은, 원하는 압축 게인에 도달하기 위해서, 몇가지 다른 가역 및 불가역 압축 방식을 조합시키는 것이 일반적이다. 또한, 하이브리드 동화상 부호화는, ISO/IEC 규격(MPEG―1, MPEG―2, 및 MPEG―4 등의 MPEG―X 규격)뿐만 아니라 ITU―T 규격(H.261이나 H.263 등의 H.26x 규격)의 기초이기도 하다. 최신 또한 첨단의 동화상 부호화 규격은, 현재, H.264/MPEG―4 AVC(advanced video coding)로서 나타나 있는 규격이다. 이 규격은, ITU―T 및 ISO/IEC MPEG 그룹의 공동팀인 JVT(joint video team)에 의한 표준화 활동의 결과이다.
인코더(화상 부호화 장치)에 입력되는 화상 신호(입력 신호 또는 입력 동화상 신호)는 프레임(비디오 프레임)이라고 불리는 화상의 예이며, 각 프레임은 화소의 2차원 행렬이다. 하이브리드 동화상 부호화에 의거하는 상기 규격은 모두, 개개의 프레임을 각각, 복수의 화소로 이루어지는 보다 작은 블록으로 세세하게 분할하는 수단을 포함하고 있다. 일반적으로는, 매크로 블록(16×16화소의 블록으로 통상 나타낸다)이 기본적인 화상 요소이며, 이에 대하여 부호화가 행해진다. 그러나, 서브 블록이나 단순 블록으로서 나타나는, 8×8, 4×4, 16×8 등의 사이즈의 보다 작은 화상 요소에 대해서는, 다양한 특정 부호화 단계를 행해도 된다.
H.264/MPEG―4 AVC의 인트라 부호화 방식에서는, 공간적 용장성을 삭감하기 위해서, 사이즈 4×4, 8×8, 16×16화소의 서브 블록 또는 매크로 블록에 대하여 공간 예측이 행해진다. 또한, 공간 예측은, 공간 보간, 인트라 예측, 또는 인트라 프레임 예측이라고도 하고, 공간적인 방향성을 이용한 공간 예측을 방향성 공간 예측이라고 한다. 그리고, 이러한 공간 예측을 이용한 부호화를 인트라 부호화 또는 공간 부호화라고 하고, 인트라 부호화된 화상 또는 블록을 인트라 부호화 화상 또는 인트라 부호화 블록이라고 한다. 인트라 프레임 예측은, 이미 부호화된 인접 블록의 경계 화소를 이용하여 부호화 대상(예측 대상) 블록을 기본적으로 예측하는, 인트라 예측 모드(방향성 공간 예측 모드를 포함하는 공간 예측의 모드)의 사전에 정의한 세트를 이용한다.
도 1은, 4×4화소의 서브 블록에 이용되는 8개의 방향성 공간 예측 모드를 개략적으로 나타내는 도면이다. 방향성 공간 예측의 타입(모드)이 상이하면, 다른 에지 방향, 즉, 도 1에 나타내는 것과 같은, 적용한 2차원 외삽의 방향을 참조한다. 사이즈 4×4 및 8×8의 서브 블록에 대하여 공간 예측에는, 8개의 다른 방향성 공간 예측 모드와, 1개의 DC 예측 모드가 있고, 16×16화소의 매크로 블록에 대해서는, 3개의 다른 방향성 공간 예측 모드와, 1개의 DC 예측 모드가 있다.
8개의 방향성 공간 예측 모드는, {0, 1, 3, 4, 5, 6, 7, 8}의 값 302로 표시되고, 8개의 다른 방향(301)의 예측과 대응된다. 나머지 1개의 인트라 예측 모드(공간 예측 모드)는 값 2로 나타내고, 「DC 예측 모드」로 불린다. DC 예측 모드에서는, 블록 내의 화소 전체를, 주변의 참조 화소의 평균값 1개로 예측한다. 8개의 방향성 공간 예측 모드의 각각에서는, 참조 화소를, 대응하는 방향(301)을 따라 반복 복사하도록, 부호화 대상 블록이 예측된다. 예를 들면, 「0」으로 나타낸 방향성 공간 예측 모드인 수직 모드에서는, 부호화 대상 블록의 바로 위의 행의 참조 화소를 수직 방향으로 반복 복사한다. 「1」로 나타낸 방향성 공간 예측 모드인 수평 모드에서는, 부호화 대상 블록의 바로 좌측 열의 참조 화소를 수평 방향으로 반복하여 복사한다. 3부터 8까지의 값으로 나타낸 나머지 방향성 공간 예측 모드는, 경사 방향의 인트라 예측 모드이며, 참조 화소는 그 모드에 따른 경사 방향으로 반복 복사된다.
비디오 부호화에 있어서, 인트라 부호화된 블록은, 비디오 시퀀스의 리프레쉬, 및 에러가 전파되지 않도록 하는데 도움이 된다. 그러나, 공간 부호화에서는, 부호화 효율이 시간 부호화(인터 부호화)의 퍼포먼스보다도 낮으므로, 결과로서 생기는 비트 레이트가 크게 변화될뿐만 아니라, 전체적인 압축 게인이 저하되게 된다.
여기서, 부호화 효율을 올리기 위해서, 블록의 화소를 예측하는 외삽 방향의 수를 8개로 제한하지 않는 개량형 공간 예측이 제안되어 있다(특허문헌1 참조). 보다 정확하게는, 이 특허문헌 1에서는, 이미 복호된 인접 블록 내에서 에지 검출이 행해진다. 우위로 판단된 에지의 검출에 의거하여, 블록의 화소가, 인접 블록에 속하는 화소간의 서브 픽셀 위치로부터 외삽 또는 내삽된다.
상기 특허문헌 1에서는, 예측 방향을 보다 정밀하게 결정할 수 있다. 이는, 좋은 공간 예측이 보다 정밀도가 좋아지는 한편, 예측 오차 신호(부호화 대상 블록과 예측 블록의 차분)가 보다 작아지므로, 보다 좋은 압축이 된다.
특허문헌 1: 유럽 특허출원 공개 제2081386호 명세서
그러나, 에지 검출 및 검출된 우위 에지 방향으로의 외삽 또는 내삽에는, 나눗셈 등의 상당히 복잡한 복수의 계산이 필요하므로, 복잡도가 증가하여, 부호화 및/또는 복호의 실장의 용이함을 저감시킨다. 어플리케이션의 대부분에 있어서, 적어도 디코더(화상 복호 장치)의 복잡도를 가능한한 적게 하는 것이 필요하다. 특히, 제한된 전원 및/또는 처리 방법을 가지는 장치 내에서 이용하기 위해서는, 인코더 및/또는 디코더의 실장이 저복잡도이지 않으면 안된다.
여기서, 본 발명은, 상기 문제를 해결하기 위해서 행해진 것으로서, 공간 예측의 복잡도를 저감시킬 수 있는 공간 예측 방법을 제공하는 것을 목적으로 한다.
상기 목적을 달성하기 위해서, 본 발명의 일양태에 관련된 공간 예측 방법은, 화상을 구성하는 예측 대상 블록 내의 각 화소 위치에 있어서의 화소값을 예측하는 공간 예측 방법으로서, 상기 예측 대상 블록에 인접하는 인접 블록 내의 화소간의 수평 구배 및 수직 구배를 취득함으로써, 상기 예측 대상 블록에 겹치는 에지를 검출하고, 취득된 상기 수평 구배 및 상기 수직 구배 중의 적어도 1개에 의거하여, 검출된 상기 에지의 경사를 정수값으로 나타내는 정수 경사를 산출하고, 상기 예측 대상 블록 내의 화소 위치마다, 산출된 상기 정수 경사가 있고, 또한, 당해 화소 위치를 통하는 선과, 상기 인접 블록의 경계의 교점인 소수 화소 위치를 결정하고, 상기 예측 대상 블록 내의 화소 위치마다, 당해 화소 위치에 대하여 결정된 상기 소수 화소 위치에 보간된 화소값에 의거하여, 당해 화소 위치의 화소값을 예측하고, 상기 인접 블록의 경계는, 당해 인접 블록에 포함되는 화소의 복수의 열 또는 복수의 행 중의, 상기 예측 대상 블록에 가장 가까운 열 또는 행이다.
이에 따라, 예측 대상 블록에 겹치는 에지(예측 대상 블록에 들어가는 에지)의 정수 경사가 우선 산출되고, 그 정수 경사에 따라, 예측 대상 블록 내의 화소 위치의 각각에 대한 소수 화소 위치(서브 픽셀 위치)가 결정된다. 여기서, 정수 경사를 이용하면, 예측 대상 블록 내의 화소 위치의 각각에 대한 소수 화소 위치를, 나누지 않고 결정할 수 있다. 따라서, 예측 대상 블록 내의 화소 위치마다, 나누는 것을 막을 수 있다. 즉, 예측 대상 블록 내의 화소 위치마다, 그 화소 위치의 수평 방향 또는 수직 방향의 좌표값과, 에지의 수평 성분 및 수직 성분 중 한쪽의 성분을 곱하고, 또한, 그 곱셈의 결과를, 그 에지의 다른쪽의 성분으로 나누는 것을 막을 수 있다. 그 결과, 에지의 정수 경사를 산출하기 위해서 나눗셈이 1회만 필요해도, 예측 대상 블록 내의 화소 위치의 각각에 대하여 나누는 것을 막을 수 있어, 공간 예측의 복잡도를 저감할 수 있다. 즉, 복잡한 연산을 억제할 수 있다.
바꿔 말하면, 본 발명의 일양태에 관한 공간 예측 방법에서는, 우선, 예측 대상 블록에 대하여 한번, 검출된 에지의 정수 경사를 수직 구배 및 수평 구배 중의 적어도 1개에 의거하여 산출하고, 이 정수 경사의 선과, 인접 블록의 경계 화소의 행 또는 열과의 교점을 결정하는 것을 특징으로 하고 있다.
또한, 상기 정수 경사를 산출할 때는, 상기 수평 구배 또는 상기 수직 구배에 대하여, 2의 c승(c는 양의 정수)에 의한 스케일링을 행하고, 스케일링된 상기 수평 구배 또는 상기 수직 구배를 이용하여 상기 정수 경사를 산출하고, 상기 소수 화소 위치를 결정할 때는, 스케일링을 행하여 생성된 상기 정수 경사를, 상기 예측 대상 블록 내에서 예측의 대상이 되는 화소 위치의 수평 방향 또는 수직 방향의 좌표값으로 곱함으로써, 상기 화소 위치에 대한 상기 소수 화소 위치를 산출한다.
이에 따라, 수평 구배 또는 수직 구배에 대하여 2의 c승에 의한 스케일링이 행해져 정수 경사가 산출되기 때문에, 그 스케일링의 대상이 되는 구배를 나타내는 값이 나뉘는 수(분자)로서 이용되는 나눗셈을 행하여 정수 경사가 산출될 경우에는, 그 스케일링에 의해 정수 경사의 정밀도를 높일 수 있다. 또한, 2의 c승에 의한 스케일링이 행해지기 때문에, 좌측으로의 비트 시프트에 의해 이 스케일링을 간단히 행할 수 있다. 또한, 이 스케일링에 의해 산출되는 소수 화소 위치의 리스케일링을, 우측으로의 비트 시프트에 의해 간단히 행할 수 있다. 또한, 정수 경사의 정밀도가 높기 때문에, 소수 화소 위치의 정밀도도 높일 수 있다.
또한, 상기 공간 예측 방법은, 또한, 상기 수평 구배 또는 상기 수직 구배의 함수에 의해, 상기 c를 산출한다.
이에 따라, 적절한 c를 이용한 스케일링을 실현할 수 있다. 예를 들면, 스케일링의 대상이 되는 구배를 나타내는 값이 나뉘는 수(분자)로서 이용되는 나눗셈을 행하여 정수 경사가 산출되고, 그 스케일링의 대상이 되는 구배를 나타내는 값이 큰 경우에는, 그 구배에 대하여 적용되는 c를 작은 값으로 함으로써, 정수 경사의 오버플로우를 막을 수 있다.
또한, 상기 정수 경사를 산출할 때는, 미리 정해진 값마다, 당해 미리 정해진 값과, 당해 미리 정해진 값을 나누는 수로서 이용한 나눗셈의 결과를 나타내는, 메모리에 저장된 나눗셈 테이블을 참조함으로써, 상기 수직 구배 및 상기 수평 구배중 한쪽의 구배를 나타내는 값을 나누는 수로서 이용한 나눗셈의 결과를 취득하고, 취득된 상기 나눗셈의 결과를 이용하여 상기 정수 경사를 산출한다.
이에 따라, 나눗셈 테이블에는, 미리 정해진 값마다 그 값을 나누는 수(분모)로서 이용한 나눗셈의 결과가 나타나고, 그 나눗셈 테이블이 참조되기 때문에, 수평 구배 및 수직 구배 중 한쪽의 구배를 나타내는 값을 나누는 수(분모)로서 이용한 나눗셈을 실제로 행하지 않고, 그 나눗셈의 결과를 간단히 얻을 수 있다. 그리고, 그 나눗셈의 결과를 이용하여 정수 경사가 산출되기 때문에, 그 정수 경사를 간단하게, 즉 저복잡도로 산출할 수 있다.
또한, 메모리는, 화소값을 예측하는 장치(인트라 예측부)의 내부 메모리거나 외부 메모리여도 된다. 또한, 나눗셈 테이블에 나타나는 나눗셈의 결과에서는, 나뉘는 수(분자)가 2의 a승(a는 양의 정수)인 것이 바람직하다. 또한, a는 수평 구배 또는 수직 구배의 함수, 특히, 나누는 수로서 이용되는 구배의 함수인 것이 바람직하다. 이에 따라, 큰 나누는 수에 대해서는 보다 큰 a를, 작은 나누는 수에 대해서는 보다 작은 a를 선택할 수 있어, 더욱 예측 정밀도를 향상시킬 수 있다.
또한, 상기 나눗셈 테이블에 나타내는 상기 미리 정해진 값의 최대치는 2의 b승(b는 정수)이며, 상기 정수 경사를 산출할 때는, 상기 수직 구배 및 상기 수평 구배 중의 나누는 수로서 이용되는 구배를 나타내는 값이 2의 b승을 넘을 경우에는, 상기 구배를 나타내는 값을 우측으로 비트 시프트함으로써, 상기 구배를 스케일링하고, 스케일링된 상기 구배를 나타내는 값을 나누는 수로서 이용한 나눗셈의 결과를 취득한다.
이에 따라, 수직 구배 및 수평 구배 중의 나누는 수로서 이용되는 구배를 나타내는 값이, 2의 b승, 즉, 나눗셈 테이블에 나타나는 미리 정해진 값의 최대치를 넘을 경우에는, 그 구배를 나타내는 값이 우측으로 비트 시프트되고, 비트 시프트된 값을 나누는 수로서 이용한 나눗셈의 결과가 나눗셈 테이블로부터 취득된다. 따라서, 나눗셈 테이블에 제한이 있어도, 그 제한을 넘어 나눗셈의 결과를 간단히 얻을 수 있다.
또한, 상기 정수 경사를 산출할 때는, 상기 수직 구배 및 상기 수평 구배 중의 한쪽의 구배를 나타내는 값을 다른쪽의 구배를 나타내는 값으로 나눔으로써, 상기 정수 경사를 산출하고, 상기 예측 대상 블록 내의 화소 위치마다 당해 화소 위치의 화소값을 예측할 때는, 상기 경계에 있어서, 당해 화소 위치에 대하여 결정된 상기 소수 화소 위치와, 당해 소수 화소 위치의 옆에 있는 복수의 정수 화소 위치의 사이의 거리에 따라서 가중치를 설정하고, 상기 복수의 정수 화소 위치의 화소값의 각각에 상기 가중치를 부여하여 평균을 산출함으로써, 상기 소수 화소 위치에 있어서의 화소값을 보간한다.
이에 따라, 소수 화소 위치에 있어서의 화소값을 적절하게 보간할 수 있다.
또한, 상기 정수 경사를 산출할 때는, 상기 예측 대상 블록에 대하여 1개만 상기 정수 경사를 산출하고, 상기 소수 화소 위치를 결정할 때는, 상기 예측 대상 블록 내의 모든 화소 위치의 각각에 대하여, 공통의 상기 정수 경사를 이용하여 상기 소수 화소 위치를 결정한다.
이에 따라, 예측 대상 블록에 대하여 1개만 정수 경사가 산출되기 때문에, 연산 처리의 부담을 억제할 수 있다.
또한, 본 발명은, 이러한 공간 예측 방법으로서 실현할 수 있을 뿐 아니라, 그 공간 예측 방법에 의해 공간을 예측하는 장치, 집적 회로, 컴퓨터에 그 공간 예측 방법에 따른 예측을 시키기 위한 프로그램, 및, 그 프로그램을 저장하는 기록 매체로서도 실현할 수 있다. 또한, 그 공간 예측 방법에 의해 예측된 공간을 이용하여 화상를 부호화하는 화상 부호화 장치, 집적 회로, 화상 부호화 방법, 컴퓨터에 그 화상 부호화 방법에 따른 부호화를 시키기 위한 프로그램, 및, 그 프로그램을 저장하는 기록 매체로서도 실현할 수 있다. 또한, 그 공간 예측 방법에 의해 예측된 공간을 이용하여 화상을 복호하는 화상 복호 장치, 집적 회로, 화상 복호 방법, 컴퓨터에 그 화상 복호 방법에 따른 복호를 시키기 위한 프로그램, 및, 그 프로그램을 저장하는 기록 매체로서도 실현할 수 있다.
상술의 공간 예측 장치는, 화상을 구성하는 예측 대상 블록 내의 각 화소 위치에 있어서의 화소값을 예측하는 공간 예측 장치로서, 상기 예측 대상 블록에 인접하는 인접 블록 내의 화소간의 수평 구배 및 수직 구배를 취득함으로써, 상기 예측 대상 블록에 겹치는 에지를 검출하는 검출부와, 취득된 상기 수평 구배 및 상기 수직 구배 중의 적어도 1개에 의거하여, 검출된 상기 에지의 경사를 정수값으로 나타내는 정수 경사를 산출하는 산출부와, 상기 예측 대상 블록 내의 화소 위치마다, 산출된 상기 정수 경사가 있고, 또한, 당해 화소 위치를 통과하는 선과, 상기 인접 블록의 경계의 교점인 소수 화소 위치를 결정하는 결정부와, 상기 예측 대상 블록 내의 화소 위치마다, 당해 화소 위치에 대하여 결정된 상기 소수 화소 위치에 보간 된 화소값에 의거하여, 당해 화소 위치의 화소값을 예측하는 예측부를 구비하고, 상기 인접 블록의 경계는, 당해 인접 블록에 포함되는 화소의 복수의 열 또는 복수의 행 중의, 상기 예측 대상 블록에 가장 가까운 열 또는 행이다.
또한, 상기 산출부는, 상기 수평 구배 또는 상기 수직 구배에 대하여, 2의 c승(c는 양의 정수)에 의한 스케일링을 행하고, 스케일링된 상기 수평 구배 또는 상기 수직 구배를 이용하여 상기 정수 경사를 산출하고, 상기 결정부는, 스케일링을 행하여 생성된 상기 정수 경사를, 상기 예측 대상 블록 내에서 예측의 대상이 되는 화소 위치의 수평 방향 또는 수직 방향의 좌표값으로 곱함으로써, 상기 화소 위치에 대한 상기 소수 화소 위치를 산출해도 된다.
또한, 상기 공간 예측 장치는, 상기 수평 구배(Gy) 또는 상기 수직 구배(Gx)의 함수에 의해, 상기 c를 산출하는 계수 산출부를 더 구비해도 된다.
또한, 상기 산출부는, 미리 정해진 값마다, 당해 미리 정해진 값과, 당해 미리 정해진 값을 나누는 수로서 이용한 나눗셈의 결과를 나타내는, 메모리에 저장된 나눗셈 테이블을 참조함으로써, 상기 수직 구배(Gx) 및 상기 수평 구배(Gy) 중 한쪽의 구배를 나타내는 값을 나누는 수로서 이용한 나눗셈의 결과를 취득하고, 취득된 상기 나눗셈의 결과를 이용하여 상기 정수 경사를 산출해도 된다.
또한, 상기 나눗셈 테이블에 나타나는 상기 미리 정해진 값의 최대치는 2의 b승(b는 정수)이며, 상기 산출부는, 상기 수직 구배(Gx) 및 상기 수평 구배(Gy) 중의 나누는 수로서 이용되는 구배를 나타내는 값이 2의 b승을 넘을 경우에는, 상기 구배를 나타내는 값을 우측으로 비트 시프트함으로써, 상기 구배를 스케일링하고, 스케일링된 상기 구배를 나타내는 값을 나누는 수로서 이용한 나눗셈의 결과를 취득해도 된다.
또한, 상기 산출부는, 상기 수직 구배(Gx) 및 상기 수평 구배(Gy)중의 한쪽의 구배를 나타내는 값을 다른쪽의 구배를 나타내는 값으로 나눔으로써, 상기 정수 경사를 산출하고, 상기 예측부는, 상기 경계에 있어서, 당해 화소 위치에 대하여 결정된 상기 소수 화소 위치와, 당해 소수 화소 위치의 옆에 있는 복수의 정수 화소 위치의 사이의 거리에 따라 가중치를 설정하고, 상기 복수의 정수 화소 위치의 화소값의 각각에 상기 가중치를 부여하여 평균을 산출함으로써, 상기 소수 화소 위치에 있어서의 화소값을 보간해도 된다.
또한, 상기 산출부는, 상기 예측 대상 블록에 대하여 1개만 상기 정수 경사를 산출하고, 상기 결정부는, 상기 예측 대상 블록 내의 모든 화소 위치의 각각에 대하여, 공통의 상기 정수 경사를 이용하여 상기 소수 화소 위치를 결정해도 된다.
본 발명의 공간 예측 방법은, 공간 예측의 복잡도를 저감시킬 수 있다.
도 1은 4×4화소의 서브 블록에 이용되는 8개의 방향성 공간 예측 모드를 개략적으로 나타내는 도면이다.
도 2는 본 발명의 실시의 형태 1에 있어서의 화상 부호화 장치의 일예를 나타내는 블록도이다.
도 3은 본 발명의 실시의 형태 1에 있어서의 화상 복호 장치의 일예를 나타내는 블록도이다.
도 4a는 본 발명의 실시의 형태 1에 있어서의, 에지 벡터와, 직교축 X 및 Y로의 그 에지 벡터의 투영을 나타내는 도면이다.
도 4b는 본 발명의 실시의 형태 1에 있어서의, 외삽에 의한 예측의 대상인 외삽 대상 블록의 4×4화소의 래스터를 나타내는 도면이다.
도 4c는 본 발명의 실시의 형태 1에 있어서의, 에지가 좌측으로부터 예측 대상 블록에 들어가는 예를 나타내는 도면이다.
도 4d는 본 발명의 실시의 형태 1에 있어서의, 에지 방향의 그 외의 예를 나타내는 도면이다.
도 5는 본 발명의 실시의 형태 1에 있어서의 인트라 예측부의 처리를 나타내는 플로우챠트이다.
도 6은 본 발명의 실시의 형태 1에 있어서의 시스템의 일예를 나타내는 도면이다.
도 7은 본 발명의 일양태에 관련된 공간 예측 방법을 나타내는 플로우챠트이다.
도 8은 컨텐츠 전송 서비스를 실현하는 컨텐츠 공급 시스템의 전체 구성도이다.
도 9는 디지털 방송용 시스템의 전체 구성도이다.
도 10은 텔레비전의 구성예를 나타내는 블록도이다.
도 11은 광 디스크인 기록 미디어에 정보의 읽고 쓰기를 행하는 정보 재생/기록부의 구성예를 나타내는 블록도이다.
도 12는 광 디스크인 기록 미디어의 구조예를 나타내는 도면이다.
도 13a는 휴대 전화의 일예를 나타내는 도면이다.
도 13b는 휴대 전화의 구성예를 나타내는 블록도이다.
도 14는 다중화 데이터의 구성을 나타내는 도면이다.
도 15는 각 스트림이 다중화 데이터에 있어서 어떻게 다중화되어 있는지를 모식적으로 나타내는 도면이다.
도 16은 PES 패킷 열에, 비디오 스트림이 어떻게 저장되는지를 더욱 상세하게 나타낸 도면이다.
도 17은 다중화 데이터에 있어서의 TS 패킷과 소스 패킷의 구조를 나타내는 도면이다.
도 18은 PMT의 데이터 구성을 나타내는 도면이다.
도 19는 다중화 데이터 정보의 내부 구성을 나타내는 도면이다.
도 20은 스트림 속성 정보의 내부 구성을 나타내는 도면이다.
도 21은 영상 데이터를 식별하는 단계를 나타내는 도면이다.
도 22는 각 실시의 형태의 동화상 부호화 방법 및 동화상 복호 방법을 실현하는 집적 회로의 구성예를 나타내는 블록도이다.
도 23은 구동 주파수를 전환하는 구성을 나타내는 도면이다.
도 24는 영상 데이터를 식별하고, 구동 주파수를 전환하는 단계를 나타내는 도면이다.
도 25는 영상 데이터의 규격과 구동 주파수를 대응시킨 룩 업 테이블의 일예를 나타내는 도면이다.
도 26a는 신호 처리부의 모듈을 공유화하는 구성의 일예를 나타내는 도면이다.
도 26b는 신호 처리부의 모듈을 공유화하는 구성의 다른 일예를 나타내는 도면이다.
이하, 본 발명을 실시하기 위한 형태에 대하여, 도면을 참조하면서 설명한다.
(실시의 형태 1)
도 2는 본 실시의 형태에 있어서의 화상 부호화 장치인 인코더(100)의 일예를 나타내는 블록도이다. 이 인코더(100)는, 감산부(105), 변환/양자화부(110), 역양자화/역변환부(120), 가산부(125), 디블로킹 필터(130), 메모리(140), 보간 필터(150), 움직임 보상 예측부(160), 움직임 검출부(165), 인트라 예측부(170), 인트라/인터 전환부(175), 포스트 필터 설계부(180), 및 엔트로피 부호화부(190)를 구비한다.
우선, 감산부(105)가, 입력 동화상 신호(입력 신호)의 부호화 대상 블록과, 부호화 대상 블록에 대하여 예측된 예측 블록(예측 신호)의 차분(예측 오차 신호, 잔차 신호, 또는 예측 오차 블록)을 결정한다. 예측 신호(예측 블록)는 시간 예측(인터 예측) 또는 공간 예측으로 취득된다. 예측 타입은 프레임마다, 슬라이스마다, 또는, 매크로 블록마다 변경 가능하다.
시간 예측을 이용한 예측 부호화는 인터 부호화로 불리고, 공간 예측을 이용한 예측 부호화는 인트라 부호화로 불린다. 동화상의 프레임용 예측 타입은, 가능한한 고압축 게인을 달성할 수 있도록, 사용자에 의해 설정 가능하거나, 또는, 인코더(100)에 의해 선택가능하다. 선택된 예측 타입에 따라, 인트라/인터 전환부(175)는 대응하는 예측 신호를 감산부(105)에 출력한다. 시간 예측을 이용한 예측 신호는, 메모리(140)에 저장되어 있는 이미 부호화된 화상으로부터 도출된다. 공간 예측을 이용한 예측 신호는, 메모리(140)에 저장되어 있는 이미 부호화 및 복호된, 동일한 프레임의 인접 블록의 경계 화소값으로부터 도출된다. 이와같이, 메모리(140)는, 부호화 대상의 신호값(화소값)과, 앞의 신호값으로부터 생성된 예측 신호값(화소값)의 비교를 가능하게 하는 지연부로서 기능한다. 메모리(140)는, 이미 부호화(및 복호)된 복수의 프레임을 저장한다. 변환/양자화부(110)는, 예측 오차 신호 또는 잔차 신호로서 나타내는, 입력 신호와 예측 신호의 차분을, 계수(주파수 계수)로 변환하여 양자화한다. 그리고, 데이터량을 가역 압축 방법으로 더욱 삭감하기 위해서, 엔트로피 부호화부(190)는, 양자화된 계수(부호화 동화상 또는 부호화 동화상 시퀀스)를 엔트로피 부호화한다. 이는, 가변 길이의 코드 워드를 부호에 적용함으로써 주로 실현된다. 코드 워드 길이는 출현 확률에 의거하여 선택된다. 엔트로피 부호화부(190)는, 그 엔트로피 부호화된 부호화 동화상을 포함하는 부호화 신호(비트 스트림)를 출력한다.
인트라 부호화 화상(I타입 화상, I픽처 또는 I프레임으로도 불린다)은, 인트라 부호화된 매크로 블록만으로 구성된다. 즉, 인트라 부호화 화상은, 다른 이미 복호된 화상을 참조하지 않고 복호할 수 있다. 인트라 부호화 화상은, 프레임으로부터 프레임으로 전파될 우려가 있는 시간 예측에 기인한 에러로부터 부호화 동화상 시퀀스를 리프레시하기 위해서, 부호화 동화상 시퀀스(부호화 동화상)에 오류 내성을 부여한다. 또한, I프레임은, 부호화 동화상 시퀀스 내의 랜덤 액세스를 가능하게 한다.
인트라 예측부(170)는, 인트라 예측 모드의 사전에 정의된 세트를 이용한다. 이 세트에는, 이미 부호화된 인접 블록의 경계 화소를 이용하여 부호화 대상 블록을 예측하는 인트라 예측 모드도 있으면, 매칭의 템플릿 등으로서, 이미 부호화된 동일 프레임 내의 화소로 구성되는 검색 영역을 이용하는 인트라 예측 모드도 있다.
인트라 예측 모드의 사전에 정의된 세트에는, 몇개의 방향성 인트라 예측 모드가 포함된다. 방향성 인트라 예측 모드가 상이하면, 이들 모드는, 적용한 2차원 예측의 상이한 방향을 참조한다. 이와같이 함으로써, 다양한 에지 방향의 경우에도, 효율적으로 공간 인트라 예측을 행할 수 있다. 그리고, 상술한 바와 같이, 감산부(105)는, 이러한 인트라 예측으로 취득한 예측 신호를 입력 신호로부터 감산한다. 또한, 인트라 예측부(170)는, 인트라 예측 모드를 나타내는 인트라 예측 모드 정보를 엔트로피 부호화부(190)에 출력한다(도 2에는 도시하지 않음). 여기서, 그 인트라 예측 모드 정보는, 엔트로피 부호화되어, 부호화 신호와 함께 출력된다. 또한, 본 실시의 형태에 있어서의 인트라 예측부(170)는, 이러한 처리 외에도, 특징적인 공간 예측을 행한다. 이 특징적인 공간 예측의 상세에 대해서는 후술한다.
인코더(100)에는, 복호 신호(국소 복호 신호)를 얻기 위해서, 복호부가 들어가 있다. 즉, 인코더(100)는, 부호화 처리에 따른 복호 처리가 행해지도록, 역양자화/역변환부(120)를 포함하고 있다. 역양자화/역변환부(120)는, 상술의 예측 오차 신호가 직교 변환(주파수 변환) 및 양자화되어 생성된 양자화값에 대하여, 역양자화 및 역직교 변환(역주파수 변환)을 행한다. 그 결과, 역양자화/역변환부(120)는, 복호 예측 오차 신호를 생성하여 출력한다.
여기에서, 양자화 노이즈라고도 불리는 양자화 오차 때문에, 복호 예측 오차 신호는 원래의 예측 오차 신호와는 상이하다. 가산부(125)는, 복호 예측 오차 신호를 예측 신호에 가산함으로써, 재구성 신호(재구성 화상)를 취득한다. 인코더(화상 부호화 장치)(100)측과 디코더(화상 복호 장치)측에서 호환성을 유지하기 위해서, 인코더(100)와 디코더의 쌍방에서 파악할 수 있는, 부호화에 이어 복호된 입력 신호(복호 신호)에 의거하여, 보간 필터(150), 인트라 예측부(170) 및 움직임 보상 예측부(160)로 이루어지는 구성 요소군은 예측 신호를 취득한다. 양자화를 위해, 양자화 노이즈가 재구성 신호에 중첩된다. 블록 단위의 부호화를 위해, 중첩된 노이즈에 블로킹 특성이 있는 경우가 많고, 그 결과, 특히, 강한 양자화에서는, 재구성 화상(재구성 신호에 의해 나타나는 화상)의 블록 경계가 눈에 띄어 알게 된다. 이들 아티팩트를 저감하기 위해서, 디블로킹 필터(130)는 모든 재구성 화상의 블록에 디블로킹 필터 처리를 적용한다. 디블로킹 필터(130)는, 디블로킹 필터 처리가 적용된 재구성 신호를, 복호 신호로서 메모리(140)에 저장한다.
인터 부호화에 의해 부호화된 화상(인터 부호화 화상)은, 복호을 위해서, 미리 부호화된 후에 복호된 복호 화상(복호 신호에 의해 나타나는 화상)이 필요하다. 시간 예측(인터 예측)은, 한쪽 방향, 즉, 부호화 대상의 프레임보다 앞의 시간순으로 늘어서 있는 프레임만을 이용하여 행해지거나, 쌍방향, 즉, 부호화 대상의 프레임에 연속하는 프레임도 이용하여 행해져도 상관없다. 한쪽 방향 시간 예측에 의해 부호화되는 화상은, P프레임(P픽처)으로 불리는 인터 부호화 화상이며, 쌍방향 시간 예측에 의해 부호화되는 화상은, B프레임(픽처)으로 불리는 인터 부호화 화상이다. 통상, 인터 부호화 화상은, P타입, B타입, 또는, I타입의 매크로 블록 중 어느 하나로 이루어진다. 인터 부호화 매크로 블록(P 또는 B매크로 블록)은, 움직임 보상 예측부(160)를 이용하여 예측된다. 우선, 메모리(140)에 저장되어 있는 미리 부호화 및 복호된 프레임 내에서, 부호화 대상 블록에 대하여, 가장 가까이 매칭하는 블록이 움직임 검출부(165)에 의해 발견된다. 그리고, 움직임 보상 예측부(160)는, 이 가장 가까이 매칭하는 블록을 예측 신호로서 출력한다. 또한, 움직임 검출부(165)는, 부호화 대상 블록과 그에 가장 일치(매칭)하는 블록의 상대적인 차이를 나타내는 데이터이며, 비트 스트림에 있어서의 부호화 동화상 시퀀스 내의 3차원(1시간축, 2공간축) 형상의 데이터를 움직임 데이터(움직임 벡터)로서 움직임 보상 예측부(160)에 출력한다. 보간 필터(150)는, 예측 정밀도를 최적화하기 위해서, 참조 화상(복호 화상)의 해상도를, 공간적 서브 픽셀 해상도, 예를 들면, 1/2픽셀 또는 1/4픽셀 해상도로 변환한다. 즉, 보간 필터(150)는 참조 화상에 서브 픽셀을 보간한다. 이에 따라, 움직임 검출부(165)는, 서브 픽셀 정밀도(소수 화소 정밀도)의 움직임 벡터를 검출한다.
변환/양자화부(110)는, 인트라 부호화에서나, 인터 부호화에서도, 입력 신호와 예측 신호의 차인 예측 오차 신호를 직교 변환(주파수 변환)하여 양자화함으로써, 양자화된 계수(주파수 계수)인 양자화값을 생성한다. 이 주파수 변환에서는, 2차원의 DCT(discrete cosine transformation)나 그 정수 버전 등의 직교 변환을 이용하는 것이 보통이다. 왜냐하면, 직교 변환은, 가공 전의 동화상의 상관을 효율적으로 절감하기 때문이다. 그 변환 후에는, 고주파수 성분보다도 저주파수 성분의 부호화에 보다 많은 비트를 쓸 수 있도록, 대부분의 경우, 저주파수 성분이 고주파수 성분보다도 화질에 있어서 중요해진다. 엔트로피 부호화부(190)는, 양자화값의 2차원 행렬을 1차원의 배열로 변환한다. 일반적으로, 소위 지그재그 주사로, 이 변환은 행해진다. 지그재그 주사는, 2차원 배열의 좌측 위의 모서리에 있는 DC 계수로부터 스타트하고, 우측 아래의 모서리에 있는 AC 계수를 향해서 소정의 순서로 2차원 배열을 주사한다. 통상, 에너지는, 저주파수에 상당하는, 계수의 2차원 행렬의 좌측 윗부분에 집중해 있으므로, 지그재그 주사는 결과적으로 최후의 값이 0의 배열이 된다. 이에 따라, 실제의 엔트로피 부호화 부분/실제의 엔트로피 부호화 앞의 부분으로서 런 랭스 코드를 이용한 효율적인 부호화가 가능해진다.
또한, 변환/양자화부(110)는 스칼라 양자화를 채용하고 있다. 이 스칼라 양자화는, 양자화 파라미터(QP)와 커스터마이즈할 수 있는 양자화 매트릭스(QM)에 의해 제어 가능하다. 변환/양자화부(110)는, 52의 양자화 파라미터 중의 1개를, 양자화되는 계수에 의해 매크로 블록마다 선택한다. 또한, 양자화 매트릭스는, 소스내의 특정한 주파수를 유지하여 화질의 손실을 피하도록 구체적으로 설계된다. 양자화 매트릭스는, 부호화 동화상 시퀀스와 합께, 비트 스트림에 포함되어 신호 전달된다.
비트 스트림(부호화 신호)에는, 2개의 기능 레이어, 즉, VCL(Video Coding Layer)과 NAL(Network Abstraction Layer)이 있다. VCL은, 위에서 간단히 설명한 것과 같은 부호화 기능을 제공한다. NAL은, 채널을 통한 전송이나 기억 장치로의 저장 등으로 이루어지는 어플리케이션에 따라, NAL 유닛으로 불리는 표준화 유닛에 정보 요소를 캡슐화한다. 정보 요소란, 예를 들면, 부호화된 예측 오차 신호(부호화 동화상)나, 부호화 동화상의 복호에 필요한 그 외의 정보(예를 들면 예측 타입, 양자화 파라미터, 및 움직임 벡터 등)이다. 비트 스트림에는, 부호화 동화상과 그 관련 정보를 더 포함하는 VCL NAL 유닛, 및, 부호화 동화상 시퀀스 전체에 관련된 파라미터 세트 등의 추가 데이터를 캡슐화하는 비VCL유닛, 또는, 복호의 퍼포먼스를 향상시키는데 이용할 수 있는 추가 정보를 제공하는 SEI(Supplemental Enhancement Information)가 존재한다.
포스트 필터 설계부(180)는, 복호 신호와 입력 신호에 의거하여, 화질을 개선하기 위한 필터 계수 등의 포스트 필터 정보를 설계하고, 그 포스트 필터 정보를 엔트로피 부호화부(190)에 출력한다. 포스트 필터 정보는, 비트 스트림의 SEI(SEI 메시지)를 통하여 송신된다. 즉, 포스트 필터 설계부(180)는, 로컬의 복호 신호와, 원래의 입력 신호를 비교함으로써, 포스트 필터 정보를 인코더(100)측에서 판단한다. 통상, 포스트 필터 정보란, 디코더가 적절한 필터를 설정할 수 있도록 하기 위한 정보이다. 이 정보는, 필터 계수 그 자체여도 되고, 또는 필터 계수를 설정 가능하게 하기 위한 다른 정보여도 된다. 포스트 필터 설계부(180)로부터 출력되는 포스트 필터 정보는, 부호화되어 부호화 신호에 삽입되도록, 엔트로피 부호화부(190)에도 주어진다.
도 3은 본 실시의 형태에 있어서의 화상 복호 장치인 디코더(200)의 일예를 나타내는 블록도이다. 이 디코더(200)는, 인코더(100)에 의해 생성된 부호화 신호를 복호하는 장치로서, 역양자화/역변환부(220), 가산부(225), 디블로킹 필터(230), 메모리(240), 보간 필터(250), 움직임 보상 예측부(260), 인트라 예측부(270), 인트라/인터 전환부(275), 포스트 필터(280), 및 엔트로피 복호부(290)를 구비한다. 또한, 역양자화/역변환부(220), 가산부(225), 디블로킹 필터(230), 메모리(240), 보간 필터(250), 움직임 보상 예측부(260), 인트라 예측부(270), 및 인트라/인터 전환부(275)는 각각, 인코더(100)에 구비되어 있는, 역양자화/역변환부(120), 가산부(125), 디블로킹 필터(130), 메모리(140), 보간 필터(150), 움직임 보상 예측부(160), 인트라 예측부(170), 및 인트라/인터 전환부(175)와 동일한 처리 동작을 행한다.
구체적으로는, 엔트로피 복호부(290)는, 부호화 신호인 비트 스트림(디코더(200)로의 입력 신호)을 취득한다. 이 엔트로피 복호부(290)는, 양자화값(부호화 동화상)과, 복호에 필요한 구성 요소(움직임 데이터나 예측 모드 등)와, 포스트 필터 정보를 엔트로피 복호한다. 엔트로피 복호부(290)는, 복호 대상의 블록에 적용된 공간 예측의 타입/모드를 나타내는 인트라 예측 모드 정보를 필요에 따라 비트 스트림으로부터 추출한다. 엔트로피 복호부(290)는 추출된 인트라 예측 모드 정보를 인트라 예측부(270)에 출력한다. 역양자화/역변환부(220)는, 1차원으로 배열된 양자화값을 취득하고, 2차원 행렬을 취득하기 위해서, 그 1차원으로 배열된 양자화값을 역주사한다. 또한, 역양자화/역변환부(220)는, 역양자화 및 역변환을 행함으로써, 인코더(100)에 있어서의 입력 신호로부터 예측 신호를 뺀 차분에 상당하는, 복호 예측 오차 신호를 취득한다.
가산부(225)는, 예측 신호를 움직임 보상 예측부(260) 또는 인트라 예측부(270)로부터 취득한다. 이들 움직임 보상 예측부(260)에 의한 시간 예측 및 인트라 예측부(270)에 의한 공간 예측은, 인트라/인터 전환부(275)에 의해 전환된다. 즉, 예측은, 인코더(100)로 적용한 예측을 신호 전달하기 위한 전환 정보에 따라서 전환된다. 이 전환 정보는, 인트라 예측의 경우에는 예측 타입(인트라 예측 모드 정보), 움직임 보상 예측의 경우에는 움직임 데이터 등의 예측에 필요한 정보를 더 포함한다. 움직임 보상 예측을 행하기 위해서, 움직임 벡터의 현재의 값에 따라, 화소값의 보간이 필요해질지도 모른다. 이 보간은, 보간 필터(250)에 의해 행해진다. 그리고, 가산부(225)는, 공간 영역의 복호 예측 오차 신호와, 움직임 보상 예측부(260) 또는 인트라 예측부(270)로부터 취득한 예측 신호를 가산한다.
디블로킹 필터(230)는, 그 가산에 의해 생성된 재구성 화상(재구성 신호)을 취득하고, 디블로킹 필터 처리를 행하고, 그 결과 얻어진 복호 신호를 메모리(240)에 저장한다. 이 복호 신호는, 뒤에 연속하는 블록의 시간 예측 또는 공간 예측에 적용되는 것이다. 포스트 필터(280)는, 포스트 필터 처리를 설정하기 위한 포스트 필터 정보를 취득한다. 포스트 필터(280)는, 화질을 더욱 개선하기 위해서, 포스트 필터 처리를 복호 신호에 적용한다. 이에 따라, 부호화 신호인 입력 신호가 복호되어, 복호 결과가 출력 신호로서 출력된다.
이하, 본 실시의 형태에 있어서의 인트라 예측부(170 및 270)에 의한 특징적인 처리 동작에 대하여 상세하게 설명한다.
본 발명의 근저에 있는 과제는, 에지 검출 및 그에 연속하는 예측의 정밀도를 개선함으로써, 화상 및 동화상 부호화에 적용하는 공간(인트라) 예측의 효율을 향상시킬 수 있다는 견해에 의거한다. 그 한편으로, 에지 검출 및 예측의 개선에는, 보다 계산 능력이 필요하고, 나눗셈 등의 보다 복잡한 연산을 사용할 필요가 있다. 이에 따라, 이러한, 보다 복잡한 수법을 효율적으로 실현하는 것이 어려워질 수도 있다. 예를 들면, 화상 처리에 대하여 정수 연산만을 이용함으로써, 부호화 및 복호는 스피드 업되고, 범용 프로세서, 디지털 신호 프로세서, 또는, 특수 혹은 프로그램 가능한 하드웨어로의 효율적인 실장이 가능해진다. 그러나, 정수의 정밀도에 좌우되어, 곱셈이나 나눗셈 등의 연산이 오버플로우되거나, 정밀도가 저하될 수도 있다.
본 실시의 형태에 있어서의 인트라 예측부(170 및 270)는, 인트라 예측의 예측 성능을 향상시키기 위해서, 개량된 인트라 예측을 이용한다. 특히, 개량된 인트라 예측은, 에지 검출에 의존하고 있고, 1블록 경계(또는 복수의 블록 경계)와, 우위로서 검출된 에지의 교점을 산출한다. 이 교점은 서브 픽셀(소수 화소) 위치 상이어도 되고, 이러한 서브 픽셀 위치에 의거하여 보간을 행한다. 대응하는 인트라 예측 방법의 예는, 예를 들면, 상기 특허문헌 1에 개시되어 있다. 상기 특허문헌 1에 개시된 인트라 예측 방법에 비하여, 본 실시의 형태에 있어서의 인트라 예측부(170 및 270)는, 방향성 공간 예측을 효율적으로, 또한 저복잡도로 행할 수 있다.
일반적으로, 화상 에지는, 화상(화소간)의 구배 벡터 필드(구배 벡터 또는 구배 필드)을 결정함으로써 검출할 수 있다. 구배 벡터는, 에지 상에서 보다 크고, 에지에 대하여 수직인 것이다. 구배 필드를 검출하는 가장 일반적인 수법의 하나는, 수직 및 수평 Sobel 연산자를 이용한 화상의 콘벌루션이다. 이 연산자는 이하의 마스크 ((수식 1) 및 (수식 2))로 표시된다.
[수식 1]
Figure 112012081775599-pct00001
[수식 2]
Figure 112012081775599-pct00002
구체적으로는, 특정한 화소 p(x, y)에 있어서의 수직 구배 벡터 좌표(수직 좌표 또는 수직 구배)(Gx)와 수평 구배 벡터 좌표(수평 좌표 또는 수평 구배)(Gy)는, 각각, 수직 Sobel 마스크(Sx)와 수평 Sobel 마스크(Sy)에서 화소 p(x, y)를 필터링함으로써 얻어진다. 대부분의 어플리케이션은, Sobel 연산자를 이용하여 구배 필드를 얻는다. 그러나, 본 발명은, Sobel 연산자의 방법에 의한 구배 필드의 검출에 한정되는 것은 아니다. 일반적으로, 구배 필드를 제공하는 어떠한 에지 검출 방법을 이용해도 된다. 예를 들면, 2×2나 4×4 등의 Sobel 연산자와는 다른 사이즈의 마스크를 이용해도 되고, 더 큰 마스크를 이용해도 상관없다. 어떤 결과를 원하는지에 따라, 특정 마스크를 선택한다. 보다 큰 마스크를 이용함으로써, 에지 검출의 정밀도를 증가시키고, 작은 국소 에지의 검출을 억제할 수 있을 수도 있지만, 그 한편으로, 계산의 복잡도는 증가하게 된다. 그 대신, Scharr 연산자나 보다 고차원의 도함수에 의거한 연산자 등, Sobel 마스크 이외의 마스크를 에지 검출에 이용해도 된다.
예측 대상 블록의 주위에 있는 블록의 복수의 화소에 대하여, 구배 벡터(G)의 수직 좌표(Gx) 및 수평 좌표(Gy)를 취득하면, 우위 구배 또는 우위 에지 벡터를 결정할 수 있다. 수평 좌표(수평 성분)(Ex) 및 수직 좌표(수직 성분)(Ey)의 우위 에지 벡터(간단히 에지라고도 한다)(E)는, 구배 벡터(G)에 대하여 수직이다. 여기에 따라, 우위 에지 벡터(E)의 수평 성분(Ex) 및 수직 성분(Ey)은, 각각, 수평 구배(Gy) 및 수직 구배(Gx)의 사이즈에 대응한다(예를 들면, 반시계 회전에 대하여 Ex=-Gy, Ey=Gx). 통상, 예측 대상 블록의 우위 에지는, 예측 대상 블록을 가로지르는 에지(예측 대상 블록에 겹치는 에지) 중 최대 놈(norm)을 가지는 에지로 판단된다. 그러나, 에지의 가중치 평균을 구하거나, 대다수의 화소에 대하여 검출된 에지 방향 등, 다른 방법도 이용할 수 있다.
또한, 구배 벡터의 계산은, 인접 블록(예측 대상 블록에 인접하는 주변 블록)의 화소 전체에 대하여 반드시 행하는 것은 아니다. 일반적으로, 보간 대상 블록(예측 대상 블록)에 인접하는 주변 블록의 경계 가까이의 화소에 대한 구배 벡터의 계산만을 행하는 쪽이 유리하다. 인접 블록의 화소 서브셋에 대해서만 구배 벡터를 산출함으로써, 복잡도는 저감된다. 구체적으로는, 마스크는 인접 블록에 부분적으로만 겹치기 때문에, 예측 대상 블록에 직접 인접하는 행 및/또는 열은, Sobel 마스크(또는, 그 외의 구배 벡터 검출 마스크)의 적용에 그다지 적합하지 않다. 따라서, 예측 대상 블록에 인접하는 화소의 제2 및/또는 제3번째로 가까운 행 또는 열을 이용하여 구배 벡터를 산출하는 것이 바람직하다. 그러나, 본 발명은 그에 한정되는 것은 아니고, 인접 블록의 다른 화소도 이용할 수 있다.
또한, 예측에 있어서, 예측 대상 블록에 들어오는 에지만이 중요하므로, 경계에 가까운 에지 검출은, 잘못된 에지를 검출하는 리스크도 저감한다.
도 4a는, 에지 벡터(E)와, 직교축(X 및 Y)으로의 그 에지 벡터(E)의 투영(Ex 및 Ey)(각각 구배 Gy 및 Gx에 대응)을 나타내고 있다. 도 4b는, 외삽에 의한 예측의 대상인 외삽 대상(예측 대상) 블록의 4×4화소의 래스터를 나타내고 있다. 구체적으로는, 흰색 동그라미 및 검은색 사각이 외삽 대상 블록의 화소를 나타내고 있다. 검은색 사각(440)은, 이하의 예에 있어서 값이 외삽되는 예측 대상 화소 p(x, y)를 표시하고 있다. 직교축 X는, 예측 대상 블록의 상측에서 인접하는 블록에 속하는 화소의 가장 아래 행을 관통한다. 이 행의 화소는 검은색 삼각 또는 검은 동그라미로 나타낸다. 직교축 Y는, 예측 대상 블록의 좌측에 인접하는 블록에 속하는 화소의 가장 오른쪽의 열을 관통한다. 이 열의 화소는 검은색 동그라미로 표시된다.
화살표 430은, 예측 대상 블록에 들어오는 우위 에지(우위 에지 벡터)(E)로서 검출된 에지를 나타낸다. 점선 화살표는, 우위 에지를 예측 대상 화소 p(x, y)까지 예시적으로 외삽하고 있다. 우위 에지(E)는, 2개의 풀 픽셀(정수 화소)(410과 420)(검은색 삼각으로 표시되어 있는 2개)과의 사이에 있는 서브 픽셀(소수 화소)(450)에 있어서 각도 α로 예측 대상 블록에 들어간다. 서브 픽셀(450)은, 가장 가까운 2개의 풀 픽셀(410, 420)까지의 거리에 의거하여 보간될 필요가 있다.
에지의 선예도, 위치, 및 방향을 가능한한 잃지 않도록, 예측 대상 화소(440)는, 에지 방향에 따라, 이하의 (식 3)으로 표시하는 바와같이, 풀 픽셀(410 및 420)의 양쪽의 화소값에 의거하여 외삽된다.
[수식 3]
Figure 112012081775599-pct00003
여기서, w1과 w2은 가중치이며, 이 가중치는, 교점(서브 픽셀)(450)으로부터 풀 픽셀(410 및 420)의 각각까지의 거리에 의거하여 결정되는 것이 바람직하다. 포인트(0, 0)는, 예측 대상 블록의 좌측 위 모서리 부근에 놓여진다고 가정한다. 또한, 상기 (수식 3)에 있어서, 우변 제1항의 가중치 w1에 곱해져 있는 값은, 풀 픽셀(420)의 화소값을 나타내고, 우변 제2항의 가중치 w2에 곱해져 있는 값은, 풀 픽셀(410)의 화소값을 나타낸다. 또한, 도 4b에 나타내는 에지(430)와 같이, 좌측 위로부터 우측 아래로 향하는 방향에 따른 에지의 경우에는, δx는 양의 값을 나타낸다. 또한, 우측 위로부터 좌측 아래를 향하는 방향에 따른 에지의 경우에는, δx는 음의 값을 나타낸다. 예를 들면, 가중치 w1 및 w2은, 이하의 (수식 4)에 표시하는 바와같이 산출할 수 있다.
[수식 4]
Figure 112012081775599-pct00004
여기에서, δx는, 예측 대상 화소(440)의 X좌표와 교점(450)의 X좌표의 사이의 거리이다. (수식 5)에 나타내는 연산자는 「바닥」연산을 나타내고, 피연산자에 대하여, 그에 가장 가까운 작은 쪽의 정수를 돌려준다(이 예에서는 1과 동일하다). (식 6)에 나타내는 연산자는 「천정」연산을 나타내고, 피연산자에 대하여, 그에 가장 가까운 큰 쪽의 정수를 돌려준다(이 예에서는 2와 동일하다).
[수식 5]
Figure 112012081775599-pct00005
[수식 6]
Figure 112012081775599-pct00006
도 4b에 도시하는 바와같이, 에지(430)의 경사 k는, 이하의 (수식 7)에 나타내는 바와 같이 산출할 수 있다.
[수식 7]
Figure 112012081775599-pct00007
그리고, 거리 δx는, 이하의 (수식 8)에 나타내는 바와같이 산출할 수 있다.
[수식 8]
Figure 112012081775599-pct00008
이와 같이, δx의 계산에는 나눗셈이 필요하다. 일반적으로, 예측 대상 블록의 각 화소에 대하여, 예측 대상 화소의 X좌표부터, 에지와 상부 주변 블록의 화소 열의 교점(그 열에 있는 화소간을 보간하는 교점)까지의 거리(δx)를 산출한다. 산출한 거리(δx)에 의거하여, 예측 대상 화소(440), 즉 예측 대상 화소(440)의 화소값 p(x, y)을, p(x, y)=p(x-δx, 0)로서 예측한다. 이는, 예측 대상 화소(440)(예측 대상 화소(440)의 화소값)가, 보간된 서브 픽셀(450)의 화소값으로서 외삽되는 것을 의미한다.
본 실시의 형태에서는, 상기의 파라미터는 모두, 통상, 임의의 정밀도의 정수값이며, 적용된 연산은 정수 연산이다. 예를 들면, 파라미터(Ex 및 Ey)는, 각각에 대응하는 8비트 길이 변수로 나타낼 수 있다. 이러한 경우, 거리(δx)도, 정수의 곱셈(y×Ex)을 행하여 그 결과를, Ey로 나눔으로써, 정수 연산을 이용하여 산출된다. 정수 연산의 나눗셈에서는, 그 결과도 정수로 되기 때문에, 정수 나눗셈은 정밀도가 조금 저하될 가능성이 있다. 일반적으로, 나뉘는 수의 값(y×Ex)이 작을수록, 나누는 수의 값(Ey)이 클수록, 정밀도의 저하는 커진다.
상술한 것과 같은, 블록의 화소를 예측하기 위해서 행해지는 연산의 수를 줄이기 위해서는, 예측 대상 블록의 전 화소에 공통의 에지(E)의 경사(k)를 우선 산출함으로써, 실행하는 나눗셈의 수를 삭감한다. 산출된 경사(k)는, 소정 정밀도의 정수 경사 K=int(Ex/Ey)로서 저장된다. 그리고, 산출된 정수 경사(K)를 이용하여, 이하의 (수식 9)로 나타내는 예측 대상 화소에 대한 거리(δx)를 산출한다.
[수식 9]
Figure 112012081775599-pct00009
여기서, 기호 「int」는, 피연산자가 소정 정밀도의 정수인 것을 강조한 것이다. 따라서, 경사의 산출에 이용되는 나눗셈은, 예측 대상 화소의 블록 전체에 대하여 1번 행해질뿐이다. 또한, 동일한 행에 있는 각 화소에서는, 예측 대상 화소의 y좌표는 같으므로, 거리 δx는, 보간 대상(예측 대상) 블록의 화소행마다 1번만 산출할 필요가 있다. 정수의 정밀도는, 실장 환경에 따라 선택되는 것이 일반적이다. 그 정밀도는, 특히 화상 처리에 있어서, 8비트인 것이 많다. 왜냐하면, 입력 화소 성분도 통상 8비트로 샘플링되기 때문이다. 그러나, 12, 16, 또는 그 외의 비트수 등보다 높은 정밀도거나, 8비트보다 낮은 정밀도여도 된다.
그러나, 블록마다 한번만 정수 나눗셈 Ex/Ey을 실행하고, 행마다 거리(δx)를 얻는 것은, 정수 곱셈(y×Ex)을 우선 실행하고 그 결과를 Ey로 나눈다고 하는 해(解)에 대한 정밀도의 저하로 연결될 수도 있다. 이는, 나뉘는 수의 Ex가 보다 작다고 하는 것에 의해 발생한다. 또한, 정수 경사에 좌표 y를 곱하는 그 후의 곱셈은, 별도의 행에 대한 부정확함을 더욱 증가시키게 된다. 특히, 정밀도는, y의 값이 클수록 낮아진다.
블록마다 1회의 나눗셈이라는 이점을 계속 가진 채, 계산의 정밀도를 더욱 향상시키기 위해서는, 이하의 (수식 10)에 나타내는 바와같이, 나뉘는 수의 수에 스케일링 계수 2c를 곱함으로써 정수 경사를 얻는다. 여기에서, c는 정수다. δxblock는, 스케일링 계수가 곱해진 정수 경사이다.
[수식 10]
Figure 112012081775599-pct00010
c는 양의 정수인 것이 바람직하다. c의 값은, 예를 들면, 1과 4의 사이의 값과 같은 어떤 값이어도 된다. 그러나, 그 외의 값도 가능하다. 블록 사이즈를 고려하여, 특정한 값을 선택해도 된다. 예를 들면, c의 값의 후보는 4이다. 왜냐하면, 가장 큰 블록 사이즈는 16×16이므로, y의 가장 큰 값은 16(24=16)이 된다. 마찬가지로, 4×4사이즈의 블록에서는, c의 값은 2가 되고, 8×8사이즈의 블록에서는, c의 값은 3이 될 것이다. 이 곱셈은, 나뉘는 수의 Ex를 c비트 좌측으로 시프트하는 것과 동일하다. 이는 나뉘는 수의 값을 크게 하므로, 나누는 수(Ey)에 의한 나눗셈의 정밀도는 증가할 것이다. 그리고, 거리(δx)는, 이하의 (수식 11)에 나타내는 바와같이 얻어진다.
[수식 11]
Figure 112012081775599-pct00011
이 경우, 가중치 w1 및 w2은 각각, 이하의 (수식 12) 및 (수식 13)에 나타내는 바와같이 산출된다.
[수식 12]
Figure 112012081775599-pct00012
[수식 13]
Figure 112012081775599-pct00013
또는, 이하의 (수식 14) 및 (수식 15)에 의해 표시되는 등식으로 산출된다.
[수식 14]
Figure 112012081775599-pct00014
[수식 15]
Figure 112012081775599-pct00015
여기에서, 연산 「>>」은 c비트분의 우측 시프트를 나타내고, 이는, 적용한 스케일링 계수 2c로 결과를 나눔으로써 원래의 크기로 다시 스케일링하는 것에 상당한다. 연산 「<<」은, c비트분의 좌측 시프트를 나타내고, 이는, 스케일링 계수 2c로 곱하는 것에 상당한다. 연산 「&」은, 비트 단위의 논리 연산자 「AND」를 나타낸다.
δx의 값 및 가중치 w1 및 w2은 시프트되지 않고, 계수 2c로 스케일링된다. 서브 픽셀 위치를 보간한 후에는, 적용한 스케일링 계수 2c로 최종 결과를 나누는 우측 시프트를 행하지 않으면 안된다. 즉, 화소 p(x, y)의 화소값은, 이하의 (수식 16)에 의해 표시된다.
[수식 16]
Figure 112012081775599-pct00016
여기에서, 오프셋 2c-1은, 최종값을 가장 가까운 정수에 사사오입하는 움직임을 한다. 2p(단 p는 정수(6이 적합한 값))를 곱함으로써 값(Ex)의 정밀도를 미리 증가시킨 경우는, 계수 2c로 정밀도를 증가시키는 것은, y의 곱셈에서 생긴 오차를 2c로 나누는 목적만을 가진다. 예를 들면, 정수 경사의 값은, 이하의 (수식 17)로 얻어진다.
[수식 17]
Figure 112012081775599-pct00017
이 경우, 거리(δx)는, 이하의 (수식 18)에 나타내는 바와같이 얻을 수 있다. 나눗셈 연산에서 생긴 오차를 y/2c로 곱하고, 거리(δx)를 계수 2p로 스케일링한다. 이 스케일링은, 교점이 서브 픽셀 위치로 될 가능성을 유지하면서, 정수 연산으로 거리를 산출할 필요가 있다.
[수식 18]
Figure 112012081775599-pct00018
가중치 w1 및 w2은, 이하의 (수식 19) 및 (수식 20)에 표시하는 바와같이 얻어진다.
[수식 19]
Figure 112012081775599-pct00019
[수식 20]
Figure 112012081775599-pct00020
그리고, 예측값인 예측 대상 화상 p(x, y)의 화소값은, 이하의 (수식 21)로 얻어진다.
[수식 21]
Figure 112012081775599-pct00021
예측 대상 화소(440)의 x좌표로부터, 예측 대상 블록의 상부에 인접하는 화소의 행과 에지의 교점까지의 거리(δx)의 이 계산은, 나눗셈의 정밀도 향상을 가능하게 한다. 그러나, y로 곱하기 때문에, 그 곱셈 결과는 필요 이상으로 큰 값이 되어, 컴퓨터 환경이 서포트하는 정수 정밀도에 따라서는, 오버플로우의 원인이 될 수도 있다.
오버플로우를 피하면서 나눗셈의 정밀도 향상을 유지하기 위해서, 이하의 (수식 22)에 나타내는 바와같이, Ex의 값에 상당하는 수직 구배(Gy)의 값에 따라, 스케일링 계수 2c를 선택한다. 본 실시의 형태에서는, 인트라 예측부(170 및 270)는, c 및 스케일링 계수 2c를 산출하는 계수 산출부를 구비해도 된다.
[수식 22]
Figure 112012081775599-pct00022
여기에서, 함수 f()는 임의 함수이다. c의 값은, Ex의 값이 클수록 작은 것이 바람직하다. 함수 f()의 예로서, 이하의 (수식 23)을 든다.
[수식 23]
Figure 112012081775599-pct00023
이러한 경우, Ex가 1이면 c는 8, Ex가 128이면 c는 1, Ex가 256이면 c는 0이다. 이 시스템에 있어서, 보다 많은 비트를 이용할 수 있는 경우는, 이하의 함수 (수식 24)를 정의할 수 있을 것이다.
[수식 24]
Figure 112012081775599-pct00024
여기에서, b는, 시스템에서 이용할 수 있는 최대 비트수이다. 일반적으로, Ex가 작으면(예를 들면 1), 취할 수 있는 최대 정밀도를 이용할 수 있고, Ex가 크면(256에 가깝다), 최대 정밀도 마이너스 8비트를 이용할 수 있을 것이다. 파라미터 c를 산출할 때는, 에지 벡터 좌표(Ex)의 부호는 중요하지 않기 때문에, c도 c=f(|Ex|)로서 산출할 수 있는 것이 일반적이다.
본 발명의 그 외의 실시의 형태에 의하면, 에지의 정수 경사를 산출하는 나눗셈은 전혀 행해지지 않는다. 이는, 나눗셈을, 테이블(나눗셈 테이블)을 참조하는 처리로 치환함으로써 간단히 실현된다. 따라서, 테이블이 메모리에 저장된다. 그 메모리는, 보간 컴퓨팅 시스템(인트라 예측부)의 내부 메모리거나, 외부 메모리여도 된다. 테이블은, 한정된 수의 나누는 수와, 소정의 값을 그 나누는 수로 나눈 결과로 이루어진다. 예를 들면, 이 테이블은, 이하의 (수식 25)에 나타내는 것과 같은, Ey의 다양한 값으로 수 2a를 나눈 결과를 포함하고 있어도 상관없다.
[수식 25]
Figure 112012081775599-pct00025
여기에서, a는 양의 정수이다. 예를 들면, a는, 전술한 정밀도 p의 값과 같아질 수 있다. 가능한한 테이블을 이용한 처리를 나눗셈 대신 행하기 위해서는, 테이블의 나눗셈의 스케일링 계수 2a는, 이하의 (수식 26)에 나타내는 바와같이, 나누는 수 사이즈의 함수 |Ey|인 것이 바람직하다.
[수식 26]
Figure 112012081775599-pct00026
함수 g()은 임의의 함수이다. 스케일링 파라미터(a)의 값은, Ey의 사이즈(절대치)가 클수록 큰 것이 바람직하다. 함수 g()의 예로서, 이하의 (수식 27)을 들 수 있다.
[수식 27]
Figure 112012081775599-pct00027
여기에서, b는, 시스템으로 이용할 수 있는 비트수를 (b+8)의 값이 오버플로우하지 않도록 선택된다. 일반적으로는, 큰 (256에 가깝다) Ey에 대해서는, 취할 수 있는 최대 정밀도를 이용하고, 작은 (1에 가깝다) Ey에 대해서는, 보다 낮은 정밀도를 이용하는 것이다. 상기 예의 함수 f() 및 g()은, 도시 목적뿐이다. 이들 함수의 값은, 온 더 플라이로 산출되거나, 메모리의 테이블에 미리 저장되거나 어느쪽이어도 된다. 또한, 함수 f() 및 g()은, 해석 룰을 참조하지 않는 테이블로 주어져도 된다.
그리고, 스케일링된 정수 경사는, 이하의 (수식 28)과 같이 얻을 수 있다.
[수식 28]
Figure 112012081775599-pct00028
여기서, 연산 「sign」은 피연산자의 부호를 돌려주고, Table [ ]은, 메모리의 테이블로부터 검색한 |Ey|에 의한 나눗셈의 결과를 나타낸다. 그리고, 앞의 기술과 마찬가지로, 즉 (수식 29)에 나타내는 바와같이, 거리(δx)를 얻을 수 있다.
[수식 29]
Figure 112012081775599-pct00029
이 경우, 거리(δx)를 계수 2a로 스케일링한다. 가중치와 예측 대상 화소의 예측 화소값은, p를 a로 치환함으로써 전술의 식으로부터 추정할 수 있다. 그 외의 가능성은, 거리(δx)를 계수 2c+a로 계속 스케일링하는 것이다. 이 경우, 값을 2c+a로 나누기 위해서, 최종 예측은 우측으로 시프트하지 않으면 안된다. 즉, 이들 처리는, 이하의 (수식 30)∼(수식 33)에 의해 표시된다.
[수식 30]
Figure 112012081775599-pct00030
[수식 31]
Figure 112012081775599-pct00031
[수식 32]
Figure 112012081775599-pct00032
[수식 33]
Figure 112012081775599-pct00033
나눗셈 테이블을 저장하는데 필요한 메모리를 제한하기 위해, 저장되는 테이블의 등록수는 2b만인 것이 바람직하다. 이는, |Ey|의 등록수가 0<|Ey|≤2b만인 것을 의미한다. 즉, 나눗셈 테이블에 나타나 있는 나눗셈에 이용되는 나누는 수의 최대치는 2b이다. Ey의 값마다 테이블에 등록값(나눗셈의 결과)이 있는 것이 바람직하다. 그러나, 본 발명에서는, 이는 반드시 필요하지 않다. 일반적으로, Ey의 값의 2개 또는 3개걸러에만, 등록값이 테이블에 기재되어 있어도 된다. 등록값이 존재하지 않으면, 그 테이블에 있는 가장 가까운 등록값을 검색한다. 그러나, 몇개의 등록값만 게재하는 것은, 정확성을 잃게 된다.
나누는 수(Ey)가 테이블 내의 가장 큰 나누는 수보다도 크면, 에지 벡터 좌표(Ey 및 Ex)의 양쪽의 값을, 2로 나누는 것에 상당하는, 1비트분 우측으로 시프트하는 것이 바람직하다. 즉, 이하의 (수식 34)에 나타내는 처리가 행해진다.
[수식 34]
Figure 112012081775599-pct00034
즉, 시프트한 후, 나누는 수(Ey)의 새로운 값에 의거하여, 나눗셈의 결과를 테이블로부터 검색한다. 나눗셈의 결과가 성공 뒤에 검색되면, 거리(δx)를, 상술과 동일하게 산출한다. Ey의 값이 아직 크면, 나눗셈의 결과를 얻을 수 있을 때까지, 시프트를 반복한다. 테이블 등록수를 이와같이 줄이면, 에지 방향의 해상도는 조금 저하된다. 그러나, 필요한 메모리의 용량을 제한할 수 있는 것은 유리하다. 파라미터(b)를 설정함으로써, 에지 방향 해상도와 필요한 메모리 용량의 트레이드 오프 관계를, 보간 대상 블록의 사이즈뿐만 아니라 임의의 컴퓨터 환경에 대해서도 적절하게 설정할 수 있다.
상기의 예는, 예측 대상 블록에 상부로부터 들어오는 에지(430)에 대하여 설명했다.
도 4c는, 에지(483)가 좌측으로부터 예측 대상 블록으로 들어가는, 그 외의 예를 나타내고 있다. 이 예에서는, 경사의 산출도 결정된 구배에 의거한다. 그러나, x 및 y좌표(Ex 및 Ey 좌표에 상당한다)는 교체되어 있다. 예를 들면, 경사(k1 ) 및 거리(δy1)는, 이하의 (수식 35) 및 (수식 36)에 나타내는 바와같이 산출된다.
[수식 35]
Figure 112012081775599-pct00035
[수식 36]
Figure 112012081775599-pct00036
그 결과, 거리(δy1)의 구체적인 계산은, 전술의 예에 있어서의 거리(δx)의 계산과 동일하다. 그러나, 여기서의 나누는 수는 Ey가 아니고 Ex이며, 예측 대상 화소 p(x, y)의 수직 좌표 y 대신에, 수평 좌표(x)가 이용된다. 또한, 거리(δy1)는, 예측 대상 블록에 인접하는 주변 블록(인접 블록)의 화소의 행이 아니라 열에 대하여 동일해진다. 본 발명 및 그 실시의 형태를, 대응하는 방법으로 이 예에 적용해도 된다.
도 4d는, 가능성이 있는 에지 방향의 그 외의 예를 나타낸다. 에지는 예측 대상 블록의 좌측 경계에서 교차한다. 그러나, 도 4c에 대하여 설명한 예와는 달리, 예측 대상 블록의 좌측의 경계를 컷하는 에지(482)는, 그 블록을 계속하여 통과하고, 우측 위의 주변 블록에 있어서의 아래 경계를 컷한다(도 4d 중의 화살표 481). 이 경우, 예측은 2방향으로부터의 에지 보간이 된다. 부호화/복호를 위해 블록을 래스터 주사하는 시스템에 있어서 본 발명을 인트라 예측에 적용할 경우, 보간 대상 블록의 우측 상방의 주변은 이미 부호화 및 복호되어 있으므로, 그 화소도 예측에 이용할 수 있다. 전술의 예에서는, 교점 주변의 풀 픽셀 위치에 있어서의 2개의 화소를 가중치를 부여함으로써 예측이 행해졌다. 그러나, 4개의 화소, 즉, 예측 대상 블록의 좌측의 경계에 있는 교점 주변의 2개의 화소와, 우측 상방의 경계에 있는 교점 주변의 2개의 화소를 가중치를 부여함으로써도 예측을 행할 수 있다. 또한, 이 계수의 가중치는, 예측 대상 화소로부터의 특정 교점의 거리로 간주해도 상관없다.
단순화를 위해, 상술한 예에서는 모두, 4×4화소의 블록에 대하여 설명하고 있다. 그러나, 본 발명은 이러한 블록에 제한되는 것은 아니다. 일반적으로, 8×8, 16×16, 8×16, 4×8 등, 어떠한 정사각형 및 직사각형 사이즈의 블록이라도 상술한 것과 같이 보간할 수 있다.
또한, 상기의 예에서는, 화상 또는 동화상 인코더 및 디코더에 있어서의 전개를 주로 설명했다. 그러나, 본 발명은 이들에 한정되는 것은 아니다. 본 발명은, 공간적 외삽 또는 내삽을 필요로 하는 다른 화상 처리 태스크에도 용이하게 적용할 수 있다. 예를 들면, 본 발명에 관련된 외삽/내삽을, 오차 은폐 등의 후처리에 이용해도 상관없다.
도 5는, 인트라 예측용에 동화상 부호화/복호에 이용된 본 발명에 관한 화소 블록(블록)의 공간 예측을 정리한 것이다. 우선, 인트라 예측부(170, 270)는, 에지 검출을 행하고(단계 S510), 에지가 검출되었는지 여부를 판별한다(단계 S520). 즉, 외삽 또는 내삽이 행해지기 위한 우위 에지의 검출이 행해진다. 여기에서, 에지가 검출되지 않으면(단계 S520에 있어서 「no」), 예측 대상 블록의 주변이 실질적으로 매끄럽기 때문에, 인트라 예측부(170, 270)는, 소위 DC 보간(DC 예측 모드에 의한 예측)을 예측 대상 블록에 대하여 적용한다(단계 S530). 이 DC 보간은, 예측 대상 블록의 화소 전체를 인접 화소의 평균치와 같은 값으로 설정하는 보간이다. 한편, 에지가 검출되면(단계 S520에 있어서 「yes」), 인트라 예측부(170, 270)는, 에지의 정수 경사를 산출한다(단계 S540).
그리고, 인트라 예측부(170, 270)는, 예측 대상 화소(다음의 화소)가 있는지 여부를 판별하여(단계 S550), 있다고 판별했을 때에는(단계 S550에 있어서 「yes」), 블록 경계와 에지의 교점을 결정한다(단계 S560). 또한, 인트라 예측부(170, 270)는, 교점의 서브 픽셀 위치(서브 픽셀의 화소값)를 필요에 따라 보간하고(단계 S570), 그 서브 픽셀 위치의 화소값을 이용하여, 예측 대상 화소에 대하여 적절한 외삽 또는 내삽을 행한다(단계 S580). 한편, 인트라 예측부(170, 270)는, 단계 S550에서 예측 대상 화소가 없다고 판별했을 때에는(단계 S550에 있어서 「no」), 예측 대상 블록에 대한 공간 예측을 종료한다.
도 2 및 도 3에 도시하는 바와같이, 본 실시의 형태에서는, 인코더(100)에 있어서의 인트라 예측부(170)와, 디코더(200)에 있어서의 인트라 예측부(270)가 상술의 공간 예측을 행한다. 구체적으로는, 인트라 예측부(170 또는 270)는, 또한, 에지 검출부(검출부), 교점 결정부(결정부), 인접 블록의 서브 픽셀 위치의 보간부, 및 외삽/내삽부(예측부)를 구비하고 있어도 된다. 에지 검출부는, 예측 대상 블록을 컷하는 우위 에지를 검출한다. 교점 결정부는, 에지 검출부에 의해 결정된 에지의 교점에 대응하는 서브 픽셀 위치와, 예측 대상 블록의 주변 블록에 속하는 화소의 행 또는 열을 결정한다. 보간부는, 가장 가까운 풀 픽셀의 값에 의거하여, 교점 결정부에 의해 산출된 서브 픽셀 위치의 화소값을 보간한다. 외삽/내삽부는, 교점 결정부에 의해 산출된 서브 픽셀 위치에 의거하여, 대상 화소(예측 대상 블록 내의 화소)의 화소값을 외삽/내삽한다.
상기 예에서는, 블록의 래스터 주사로 화상은 부호화 및/또는 복호된다. 이 경우, 예측에 이용할 수 있는 인접 블록은, 반드시, 예측 대상 블록의 위에 있는 블록과, 예측 대상 블록으로부터 좌측의 블록이 된다. 그러나, 본 발명은, 예측 대상 블록에 인접하는 이미 부호화/복호된 블록이 적어도 1개 있는한, 또한, 예측 대상 블록을 컷하여 인접 블록을 통과하는 에지가 있는 한, 별도의 주사에 대해서도 적용할 수 있다.
또한, 상기의 예에서는, 1개의 화소 블록에 대하여 설명했다. 실제로는, 복수의 블록으로 재분할된 화상을, 블록마다 상이한 부호화 방법을 이용하여 부호화해도 된다. 오차 은폐도 블록 1개에 적용할 수 있다. 그러나, 또한, 본 발명을 적용하여, 비디오 시퀀스의 1개의 전체 화상 또는 프레임을 부호화해도 된다.
도 6은, 부호화 동화상을 포함하는 비트 스트림을 인코더측으로부터 디코더측으로 송신하는, 본 발명에 있어서의 시스템의 일예를 나타내는 도면이다. 이 시스템은, 인코더(1401), 채널(1402) 및 디코더(1403)를 구비한다. 인코더(1401)는 상술의 인코더(100)에 상당하고, 디코더(1403)는 상술의 디코더(200)에 상당한다.
입력 동화상 신호는 인코더(송신기)(1401)에 의해 부호화되고, 채널(1402)에 송신된다. 인코더(1401)는, 상술의 적어도 1개의 블록의 인트라 예측을 위하여, 본 발명에 있어서의 실시의 형태에 의거하는 방향성 공간 예측에 따른 부호화를 행한다. 채널 1402은, 기록 매체여도 되고 송신 채널이어도 된다. 기록 매체는, 예를 들면, 휘발성 또는 불휘발성의 메모리여도 되고, 자기적 또는 광학적인 매체여도 되고, 기록 매체의 집합이어도 된다. 전송 채널은, 어떠한 전송 시스템에 있어서의 물리적 리소스에 의해서도 실현된다. 예를 들면, 전송 채널은, 와이어리스 채널이나 와이어드 채널이거나, 고정 채널이나 가동 채널이어도 된다. 또한, 전송 채널은, xDSL, ISDN, WLAN, GPRS, UMTS, 인터넷, 또는, 규격화된 시스템이나 사유 시스템이어도 된다.
인코더(1401)는, 입력 동화상 신호에 대하여 포맷 변환을 행해도 되고, 채널(1402)을 통하여 비트 스트림을 송신하기 위한 송신기를 구비해도 된다. 또한, 인코더(1401)는, 기록 매체에 비트 스트림을 송신하기 위한 어플리케이션을 포함해도 된다.
비트 스트림은 채널(1402)을 통하여 디코더(수신기)(1403)에 취득된다. 디코더(1403)는, 상술의 본 발명에 있어서의 실시의 형태에 의거하는 방향성 공간 예측을 행하고, 그 비트 스트림을 복호한다.
디코더(1403)는, 채널(1402)을 통하여 비트 스트림을 수신하기 위한 수신기를 구비해도 되고, 기록 매체로부터 비트 스트림을 추출하기 위한 어플리케이션을 포함해도 된다. 또한, 디코더(1403)는, 복호 화상에 대한 후처리(예를 들면 포맷 변환 등)를 행하기 위한 후 처리 수단을 구비하고 있어도 된다.
정리하면, 본 발명은, 방향성 공간 예측의 효율적인 실장에 관련된 것이다. 이 방향성 공간 예측에서는, 인접 블록의 수직 구배 및 수평 구배를 결정함으로써 에지를 검출하고, 예측 대상 화소마다, 인접 블록의 화소의 행 또는 열과 검출 에지의 교점을 결정하고, 결정된 교점에 따라서 블록의 각 화소(예측 대상 화소)를 외삽 또는 내삽한다. 교점은, 서브 픽셀 위치여도 된다. 구체적으로, 교점의 산출에는, 예측 대상 블록 전체에서 공통의 정수 경사를 얻기 위해, 수직 구배 또는 수평 구배에 의한 나눗셈이 포함된다. 이에 따라, 나눗셈의 수를 1블록당 1개로 줄일 수 있다. 이 나눗셈의 정밀도를 향상시키기 위해서, 수평 구배 또는 수직 구배의 값 각각에 따른 스케일링 계수로 스케일링을 적용할 수 있다. 즉, 본 발명의 공간 예측 방법에서는 도 7에 도시하는 바와같이 처리가 행해진다.
도 7은, 본 발명의 일양태에 관련된 공간 예측 방법을 나타내는 도면이다.
본 발명의 일양태에 관련된 공간 예측 방법은, 화상를 구성하는 예측 대상 블록 내의 각 화소 위치에 있어서의 화소값을 예측하는 공간 예측 방법이다. 우선, 인트라 예측부(170)는, 예측 대상 블록에 인접하는 인접 블록 내의 화소간의 수평 구배(Gy) 및 수직 구배(Gx)를 취득함으로써, 그 예측 대상 블록에 겹치는 에지(E)를 검출한다(단계 S10). 다음에, 인트라 예측부(170)는, 그 취득된 수평 구배(Gy) 및 수직 구배(Gx) 중의 적어도 1개에 의거하여, 그 검출된 에지의 경사를 정수값으로 나타내는 정수 경사를 산출한다(단계 S11). 다음에, 인트라 예측부(170)는, 그 예측 대상 블록 내의 화소 위치마다, 산출된 정수 경사가 있고, 또한, 그 화소 위치(440)를 통과하는 선(430)과, 인접 블록의 경계의 교점인 소수 화소 위치(450)를 결정한다(단계 S12). 다음에, 인트라 예측부(170)는, 그 예측 대상 블록 내의 화소 위치마다, 그 화소 위치(440)에 대하여 결정된 소수 화소 위치(450)에 보간된 화소값에 의거하여, 그 화소 위치(440)의 화소값을 예측(외삽 또는 내삽)한다(단계 S13). 여기에서, 그 인접 블록의 경계는, 그 인접 블록에 포함되는 화소의 복수의 열 또는 복수의 행 중의, 그 예측 대상 블록에 가장 가까운 열 또는 행이다. 이러한 처리는, 인트라 예측부(270)에서도 동일하게 행해진다.
또한, 에지의 정수 경사의 산출에서는, 수평 구배(Gy) 및 수직 구배(Gy) 중의 적어도 1개에 의거하여 그 정수 경사를 산출하면 되고, 반드시 수평 구배(Gy) 및 수직 구배(Gy)의 2개의 구배를 이용하지 않아도 된다.
또한, 본 실시의 형태에서, 화상 부호화 장치(100)는, 인트라 예측부(170) 이외의 다른 구성 요소로서, 움직임 보상 예측부(160) 등을 구비했는데, 적어도 감산부(105) 및 인트라 예측부(170)를 구비하고 있으면 되고, 다른 구성 요소를 구비하지 않아도 된다.
또한, 본 실시의 형태에서, 화상 복호 장치(200)는, 인트라 예측부(270) 이외의 다른 구성 요소로서, 움직임 보상 예측부(260) 등을 구비했는데, 적어도 가산부(225) 및 인트라 예측부(270)를 구비하고 있으면 되고, 다른 구성 요소를 구비하지 않아도 된다.
또한, 본 실시의 형태에서, 화상 부호화 장치(100)는, 인트라 예측 모드 정보를 엔트로피 부호화하여 출력하고, 화상 복호 장치(200)는, 그 인트라 예측 모드 정보를 엔트로피 복호한다. 여기에서, 인트라 예측 모드 정보는, 방향성 인트라 예측 모드를 나타내는 정보여도 되고, 그 방향성 인트라 예측 모드를 나타내지 않고, 부호화 또는 복호 대상 블록에 대하여 인트라 예측이 적용되는 것만을 나타내는 정보여도 된다.
(실시의 형태 2)
상기 각 실시의 형태에서 나타낸 동영상 부호화 방법 또는 동영상 복호화 방법(화상 부호화 방법 또는 화상 복호 방법)의 구성을 실현하기 위한 프로그램을 기억 미디어에 기록함으로써, 상기 각 실시의 형태에서 나타낸 처리를 독립된 컴퓨터 시스템에 있어서 간단히 실시하는 것이 가능해진다. 기억 미디어는, 자기 디스크, 광 디스크, 광 자기 디스크, IC 카드, 반도체 메모리 등, 프로그램을 기록할 수 있는 것이면 된다.
또한, 여기에서, 상기 각 실시의 형태에서 나타낸 동화상 부호화 방법이나 동화상 복호화 방법의 응용예와 이를 이용한 시스템을 설명한다.
도 8은 컨텐츠 전송 서비스를 실현하는 컨텐츠 공급 시스템(ex100)의 전체 구성을 나타내는 도면이다. 통신 서비스의 제공 지역을 원하는 크기로 분할하고, 각 셀 내에 각각 고정 무선 통신국인 기지국(ex106, ex107, ex108, ex109, ex110)이 설치되어 있다.
이 컨텐츠 공급 시스템(ex100)은, 인터넷(ex101)에 인터넷 서비스 프로바이더(ex102) 및 전화망(ex104), 및 기지국(ex106)으로부터 ex110을 통하여, 컴퓨터(ex111), PDA(Personal Digital Assistant)(ex112), 카메라(ex113), 휴대 전화(ex114), 게임기(ex115) 등의 각 기기가 접속된다.
그러나, 컨텐츠 공급 시스템(ex100)은 도 8과 같은 구성에 한정되지 않고, 어떠한 요소를 조합시켜서 접속하도록 해도 된다. 또한, 고정 무선국인 기지국(ex106)으로부터 ex110을 통하지 않고, 각 기기가 전화망(ex104)에 직접 접속되어도 된다. 또한, 각 기기가 근거리 무선 등을 통하여 직접 서로 접속되어 있어도 된다.
카메라(ex113)는 디지털 비디오 카메라 등의 동화상 촬영이 가능한 기기이며, 카메라(ex116)는 디지털 카메라 등의 정지 화상 촬영, 동화상 촬영이 가능한 기기이다. 또한, 휴대 전화(ex114)는, GSM(Global System for Mobile Communications) 방식, CDMA(Code Division Multiple Access) 방식, W-CDMA(Wideband-Code Division Multiple Access) 방식, 혹은 LTE(Long Term Evolution) 방식, HSPA(High Speed Packet Access)의 휴대 전화기, 또는 PHS(Personal Handyphone System) 등이며, 어떠한 것이라도 상관없다.
컨텐츠 공급 시스템(ex100)에서는, 카메라(ex113) 등이 기지국(ex109), 전화망(ex104)을 통하여 스트리밍 서버(ex103)에 접속됨으로써, 라이브 전송 등이 가능해진다. 라이브 전송에서는, 사용자가 카메라(ex113)를 이용하여 촬영하는 컨텐츠(예를 들면, 음악 라이브의 영상 등)에 대하여 상기 각 실시의 형태에서 설명한 바와같이 부호화 처리를 행하고, 스트리밍 서버(ex103)에 송신한다. 한편, 스트리밍 서버(ex103)는 요구가 있는 클라이언트에 대하여 송신된 컨텐츠 데이터를 스트림 전송한다. 클라이언트로는, 상기 부호화 처리된 데이터를 복호화하는 것이 가능한, 컴퓨터(ex111), PDA(ex112), 카메라(ex113), 휴대 전화(ex114), 게임기(ex115) 등이 있다. 전송된 데이터를 수신한 각 기기에서는, 수신한 데이터를 복호화 처리하여 재생한다.
또한, 촬영한 데이터의 부호화 처리는 카메라(ex113)로 행하거나, 데이터의 송신 처리를 하는 스트리밍 서버(ex103)로 행해도 되고, 서로 분담하여 행해도 된다. 동일하게 전송된 데이터의 복호화 처리는 클라이언트에서 행하거나, 스트리밍 서버(ex103)에서 행해도 되고, 서로 분담하여 행해도 된다. 또한, 카메라(ex113)에 한정되지 않고, 카메라(ex116)로 촬영한 정지 화상 및/또는 동화상 데이터를, 컴퓨터(ex111)를 통하여 스트리밍 서버(ex103)로 송신해도 된다. 이 경우의 부호화 처리는 카메라(ex116), 컴퓨터(ex111), 스트리밍 서버(ex103) 중 어느 것으로 행해도 되고, 서로 분담하여 행해도 된다.
또한, 이들 부호화·복호화 처리는, 일반적으로 컴퓨터(ex111)나 각 기기가 가지는 LSI(ex500)에 있어서 처리한다. LSI(ex500)는, 원 칩이거나 복수 칩으로 이루어지는 구성이어도 된다. 또한, 동화상 부호화·복호화용의 소프트웨어를 컴퓨터(ex111)등으로 판독 가능한 어떠한 기록 미디어(CD-ROM, 플렉서블 디스크, 하드 디스크 등)에 집어넣고, 그 소프트웨어를 이용하여 부호화·복호화 처리를 행해도 된다. 또한, 휴대전화(ex114)가 카메라 부착인 경우에는, 그 카메라로 취득한 동화상 데이터를 송신해도 된다. 이 때의 동화상 데이터는 휴대전화(ex114)가 가지는 LSI(ex500)로 부호화 처리된 데이터이다.
또한, 스트리밍 서버(ex103)는 복수의 서버나 복수의 컴퓨터이며, 데이터를 분산하여 처리하거나 기록하거나 전송하는 것이어도 된다.
이상과 같이 하여, 컨텐츠 공급 시스템(ex100)에서는, 부호화된 데이터를 클라이언트가 수신하여 재생할 수 있다. 이와 같이 컨텐츠 공급 시스템(ex100)에서는, 사용자가 송신한 정보를 실시간으로 클라이언트가 수신하여 복호화하여, 재생할 수 있어, 특별한 권리나 설비를 가지지 않는 사용자라도 개인 방송을 실현할 수 있다.
또한, 컨텐츠 공급 시스템(ex100)의 예에 한정되지 않고, 도 9에 도시하는 바와같이, 디지털 방송용 시스템(ex200)에도, 상기 각 실시의 형태의 적어도 동화상 부호화 장치 또는 동화상 복호화 장치(화상 부호화 장치 또는 화상 복호 장치)중 어느 하나를 집어넣을 수 있다. 구체적으로, 방송국(ex201)에서는 영상 데이터에 음악 데이터 등이 다중화된 다중화 데이터가 전파를 통하여 통신 또는 위성(ex202)에 전송된다. 이 영상 데이터는 상기 각 실시의 형태에서 설명한 동화상 부호화 방법에 의해 부호화된 데이터이다. 이를 받은 방송 위성(ex202)은, 방송용의 전파를 발신하고, 이 전파를 위성 방송의 수신이 가능한 가정의 안테나(ex204)가 수신한다. 수신한 다중화 데이터를, 텔레비전(수신기)(ex300) 또는 셋탑 박스(STB)(ex217) 등의 장치가 복호화하여 재생한다.
또한, DVD, BD 등의 기록 미디어(ex215)에 기록한 다중화 데이터를 읽어내 복호화하거나, 또는 기록 미디어(ex215)에 영상 신호를 부호화하고, 또한 경우에 따라서는 음악 신호와 다중화하여 기입하는 리더/레코더(ex218)에도 상기 각 실시의 형태에서 나타낸 동화상 복호화 장치 또는 동화상 부호화 장치를 실장하는 것이 가능하다. 이 경우, 재생된 영상 신호는 모니터(ex219)에 표시되고, 다중화 데이터가 기록된 기록 미디어(ex215)에 의해 다른 장치나 시스템에 있어서 영상 신호를 재생할 수 있다. 또한, 케이블 TV용의 케이블(ex203) 또는 위성/지상파 방송의 안테나(ex204)에 접속된 셋탑 박스(ex217) 내에 동화상 복호화 장치를 실장하고, 이를 텔레비전 모니터(ex219)로 표시해도 된다. 이 때 셋탑 박스가 아니라, 텔레비전 내에 동화상 복호화 장치를 집어넣어도 된다.
도 10은, 상기 각 실시의 형태에서 설명한 동화상 복호화 방법 및 동화상 부호화 방법을 이용한 텔레비전(수신기)(ex300)을 도시하는 도면이다. 텔레비전(ex300)은, 상기 방송을 수신하는 안테나(ex204) 또는 케이블(ex203) 등을 통하여 영상 데이터에 음성 데이터가 다중화된 다중화 데이터를 취득, 또는 출력하는 튜너(ex301)와, 수신한 다중화 데이터를 복조하는, 또는 외부에 송신하는 다중화 데이터로 변조하는 변조/복조부(ex302)와, 복조한 다중화 데이터를 영상 데이터와, 음성 데이터로 분리하는, 또는 신호 처리부(ex306)에서 부호화된 영상 데이터, 음성 데이터를 다중화하는 다중/분리부(ex303)를 구비한다.
또한, 텔레비전(ex300)은, 음성 데이터, 영상 데이터 각각을 복호화하는, 또는 각각의 정보를 부호화하는 음성 신호 처리부(ex304), 영상 신호 처리부(ex305)를 가지는 신호 처리부(ex306)와, 복호화한 음성 신호를 출력하는 스피커(ex307), 복호화한 영상 신호를 표시하는 디스플레이 등의 표시부(ex308)를 가지는 출력부(ex309)를 가진다. 또한, 텔레비전(ex300)은, 사용자 조작의 입력을 접수하는 조작 입력부(ex312) 등을 가지는 인터페이스부(ex317)를 가진다. 또한, 텔레비전(ex300)은, 각 부를 통괄적으로 제어하는 제어부(ex310), 각 부에 전력을 공급하는 전원 회로부(ex311)를 가진다. 인터페이스부(ex317)는, 조작 입력부(ex312) 이외에, 리더/레코더(ex218) 등의 외부 기기와 접속되는 브릿지(ex313), SD 카드 등의 기록 미디어(ex216)를 장착 가능하게 하기 위한 슬롯부(ex314), 하드 디스크 등의 외부 기록 미디어와 접속하기 위한 드라이버(ex315), 전화망과 접속하는 모뎀(ex316) 등을 가지고 있어도 된다. 또한 기록 미디어(ex216)는, 저장하는 불휘발성/휘발성의 반도체 메모리 소자에 의해 전기적으로 정보의 기록을 가능하게 한 것이다. 텔레비전(ex300)의 각 부는 동기 버스를 통하여 서로 접속되어 있다.
우선, 텔레비전(ex300)이 안테나(ex204) 등에 의해 외부로부터 취득한 다중화 데이터를 복호화하여, 재생하는 구성에 대하여 설명한다. 텔레비전(ex300)은, 리모트 컨트롤러(ex220) 등으로부터의 사용자 조작을 받고, CPU 등을 가지는 제어부(ex310)의 제어에 의거하여, 변조/복조부(ex302)에서 복조한 다중화 데이터를 다중/분리부(ex303)에서 분리한다. 또한 텔레비전(ex300)은, 분리한 음성 데이터를 음성 신호 처리부(ex304)에서 복호화하고, 분리한 영상 데이터를 영상 신호 처리부(ex305)에서 상기 각 실시의 형태에서 설명한 복호화 방법을 이용하여 복호화한다. 복호화한 음성 신호, 영상 신호는, 각각 출력부(ex309)로부터 외부를 향해서 출력된다. 출력할 때는, 음성 신호와 영상 신호가 동기하여 재생하도록, 버퍼(ex318, ex319) 등에 일단 이 신호를 축적하면 된다. 또한, 텔레비전(ex300)은, 방송 등으로부터가 아니라, 자기/광 디스크, SD 카드 등의 기록 미디어(ex215, ex216)로부터 다중화 데이터를 읽어내도 된다. 다음에, 텔레비전(ex300)이 음성 신호나 영상 신호를 부호화하여, 외부에 송신 또는 기록 미디어 등에 기입하는 구성에 대하여 설명한다. 텔레비전(ex300)은, 리모트 컨트롤러(ex220) 등으로부터의 사용자 조작을 받아, 제어부(ex310)의 제어에 의거하여, 음성 신호 처리부(ex304)에서 음성 신호를 부호화하고, 영상 신호 처리부(ex305)에서 영상 신호를 상기 각 실시의 형태에서 설명한 부호화 방법을 이용하여 부호화한다. 부호화한 음성 신호, 영상 신호는 다중/분리부(ex303)에서 다중화되어 외부로 출력된다. 다중화할 때는, 음성 신호와 영상 신호가 동기하도록, 버퍼(ex320, ex321) 등에 일단 이 신호를 축적하면 된다. 또한, 버퍼(ex318, ex319, ex320, ex321)는 도시하고 있는 바와같이 복수 구비해도 되고, 1개 이상의 버퍼를 공유하는 구성이어도 된다. 또한, 도시하고 있는 이외에, 예를 들면 변조/복조부(ex302)나 다중/분리부(ex303)의 사이 등에서도 시스템의 오버플로우, 언더플로우를 피하는 완충재로서 버퍼에 데이터를 축적하는 것으로 해도 된다.
또한, 텔레비전(ex300)은, 방송 등이나 기록 미디어 등으로부터 음성 데이터, 영상 데이터를 취득하는 이외에, 마이크나 카메라의 AV 입력을 접수하는 구성을 구비하고, 이들로부터 취득한 데이터에 대하여 부호화 처리를 행해도 된다. 또한, 여기에서 텔레비전(ex300)은 상기의 부호화 처리, 다중화, 및 외부 출력이 가능한 구성으로서 설명했는데, 이들 처리를 행할 수는 없고, 상기 수신, 복호화 처리, 외부 출력만이 가능한 구성이어도 된다.
또한, 리더/레코더(ex218)로 기록 미디어로부터 다중화 데이터를 읽어내는, 또는 기입하는 경우에는, 상기 복호화 처리 또는 부호화 처리는 텔레비전(ex300), 리더/레코더(ex218) 중 어느 것으로 행해도 되고, 텔레비전(ex300)과 리더/레코더(ex218)가 서로 분담하여 행해도 된다.
일예로서, 광 디스크로부터 데이터의 읽기 또는 기입을 하는 경우의 정보 재생/기록부(ex400)의 구성을 도 11에 도시한다. 정보 재생/기록부(ex400)는, 이하에 설명하는 요소(ex401, ex402, ex403, ex404, ex405, ex406, ex407)를 구비한다. 광 헤드(ex401)는, 광 디스크인 기록 미디어(ex215)의 기록면에 레이저 스폿을 조사하여 정보를 기입, 기록 미디어(ex215)의 기록면으로부터의 반사광을 검출하여 정보를 기입한다. 변조 기록부(ex402)는, 광 헤드(ex401)에 내장된 반도체 레이저를 전기적으로 구동하여 기록 데이터에 따라 레이저 광의 변조를 행한다. 재생 복조부(ex403)는, 광 헤드(ex401)에 내장된 포토 디텍터에 의해 기록면으로부터의 반사광을 전기적으로 검출한 재생 신호를 증폭하고, 기록 미디어(ex215)에 기록된 신호 성분을 분리하여 복조하여, 필요한 정보를 재생한다. 버퍼(ex404)는, 기록 미디어(ex215)에 기록하기 위한 정보 및 기록 미디어(ex215)로부터 재생한 정보를 일시적으로 유지한다. 디스크 모터(ex405)는 기록 미디어(ex215)를 회전시킨다. 서보 제어부(ex406)는, 디스크 모터(ex405)의 회전 구동을 제어하면서 광 헤드(ex401)를 소정의 정보 트랙으로 이동시켜, 레이저 스폿의 추종 처리를 행한다. 시스템 제어부(ex407)는, 정보 재생/기록부(ex400) 전체의 제어를 행한다. 상기의 판독이나 기입의 처리는 시스템 제어부(ex407)가, 버퍼(ex404)에 유지된 각종 정보를 이용하고, 또한 필요에 따라 새로운 정보의 생성·추가를 행함과 더불어, 변조 기록부(ex402), 재생 복조부(ex403), 서보 제어부(ex406)를 협조 동작시키면서, 광 헤드(ex401)를 통하여, 정보의 기록 재생을 행함으로써 실현된다. 시스템 제어부(ex407)는 예를 들면 마이크로프로세로 구성되고, 판독 기입의 프로그램을 실행함으로써 이들 처리를 실행한다.
이상에서, 광 헤드(ex401)는 레이저 스폿을 조사하는 것으로서 설명했는데, 근접장 광을 이용하여 보다 고밀도의 기록을 행하는 구성이어도 된다.
도 12에 광 디스크인 기록 미디어(ex215)의 모식도를 도시한다. 기록 미디어(ex215)의 기록면에는 안내 홈(그루브)이 스파이럴형상으로 형성되고, 정보 트랙(ex230)에는, 미리 그루브의 형상 변화에 따라 디스크 상의 절대 위치를 나타내는 번지 정보가 기록되어 있다. 이 번지 정보는 데이터를 기록하는 단위인 기록 블록(ex231)의 위치를 특정하기 위한 정보를 포함하고, 기록이나 재생을 행하는 장치에 있어서 정보 트랙(ex230)을 재생하여 번지 정보를 읽어냄으로써 기록 블록을 특정할 수 있다. 또한, 기록 미디어(ex215)는, 데이터 기록 영역(ex233), 내주 영역(ex232), 외주 영역(ex234)을 포함하고 있다. 사용자 데이터를 기록하기 위해서 이용하는 영역이 데이터 기록 영역(ex233)이며, 데이터 기록 영역(ex233)보다 내주 또는 외주에 배치되어 있는 내주 영역(ex232)과 외주 영역(ex234)은, 사용자 데이터의 기록 이외의 특정 용도에 이용된다. 정보 재생/기록부(ex400)는, 이러한 기록 미디어(ex215)의 데이터 기록 영역(ex233)에 대하여, 부호화된 음성 데이터, 영상 데이터 또는 이들 데이터를 다중화한 다중화 데이터의 읽고 쓰기를 행한다.
이상에서는, 1층의 DVD, BD 등의 광 디스크를 예로 들어 설명했는데, 이들에 한정된 것은 아니고, 다층 구조이며 표면 이외에도 기록 가능한 광 디스크여도 된다. 또한, 디스크의 동일한 장소에 다양한 상이한 파장의 색의 광을 이용하여 정보를 기록하거나, 다양한 각도로부터 상이한 정보의 층을 기록하는 등, 다차원적인 기록/재생을 행하는 구조의 광 디스크여도 된다.
또한, 디지털 방송용 시스템(ex200)에 있어서, 안테나(ex205)를 가지는 차(ex210)에서 위성(ex202) 등으로부터 데이터를 수신하고, 차(ex210)가 가지는 카 네비게이션(ex211) 등의 표시 장치에 동화상을 재생하는 것도 가능하다. 또한, 카 네비게이션(ex211)의 구성은 예를 들면 도 10에 나타내는 구성 중, GPS 수신부를 추가한 구성을 생각할 수 있고, 동일한 것을 컴퓨터(ex111)나 휴대전화(ex114) 등에서도 생각할 수 있다.
도 13a는, 상기 실시의 형태에서 설명한 동화상 복호화 방법 및 동화상 부호화 방법을 이용한 휴대전화(ex114)를 나타내는 도면이다. 휴대전화(ex114)는, 기지국(ex110)과의 사이에서 전파를 송수신하기 위한 안테나(ex350), 영상, 정지 화상을 찍는 것이 가능한 카메라부(ex365), 카메라부(ex365)로 촬상한 영상, 안테나(ex350)로 수신한 영상 등이 복호화된 데이터를 표시하는 액정 디스플레이 등의 표시부(ex358)를 구비한다. 휴대전화(ex114)는, 또한, 조작 키부(ex366)를 가지는 본체부, 음성을 출력하기 위한 스피커 등인 음성 출력부(ex357), 음성을 입력하기 위한 마이크 등인 음성 입력부(ex356), 촬영한 영상, 정지 화상, 녹음한 음성, 또는 수신한 영상, 정지 화상, 메일 등이 부호화된 데이터 혹은 복호화된 데이터를 보존하는 메모리부(ex367), 또는 동일하게 데이터를 보존하는 기록 미디어와의 인터페이스부인 슬롯부(ex364)를 구비한다.
또한, 휴대전화(ex114)의 구성예에 대하여, 도 13b를 이용하여 설명한다. 휴대전화(ex114)는, 표시부(ex358) 및 조작 키부(ex366)를 구비한 본체부의 각 부를 통괄적으로 제어하는 주제어부(ex360)에 대하여, 전원 회로부(ex361), 조작 입력 제어부(ex362), 영상 신호 처리부(ex355), 카메라 인터페이스부(ex363), LCD(Liquid Crystal Display) 제어부(ex359), 변조/복조부(ex352), 다중/분리부(ex353), 음성 신호 처리부(ex354), 슬롯부(ex364), 메모리부(ex367)가 버스(ex370)를 통하여 서로 접속되어 있다.
전원 회로부(ex361)는, 사용자의 조작에 의해 통화 종료 및 전원 키가 온 상태로 되면, 배터리 팩으로부터 각 부에 대하여 전력을 공급함으로써 휴대전화(ex114)를 동작 가능한 상태로 기동한다.
휴대전화(ex114)는, CPU, ROM, RAM 등을 가지는 주 제어부(ex360)의 제어에 의거하여, 음성 통화 모드 시에 음성 입력부(ex356)에서 수음한 음성 신호를 음성 신호 처리부(ex354)에서 디지털 음성 신호로 변환하고, 이를 변조/복조부(ex352)에서 스펙트럼 확산 처리하고, 송신/수신부(ex351)에서 디지털 아날로그 변환 처리 및 주파수 변환 처리를 실시한 후에 안테나(ex350)를 통하여 송신한다. 또한 휴대전화(ex114)는, 음성 통화 모드 시에 안테나(ex350)를 통하여 수신한 수신 데이터를 증폭하여 주파수 변환 처리 및 아날로그 디지털 변환 처리를 실시하고, 변조/복조부(ex352)에서 스펙트럼 역확산 처리하여, 음성 신호 처리부(ex354)에서 아날로그 음성 신호로 변환한 후, 이를 음성 출력부(ex356)로부터 출력한다.
또한 데이터 통신 모드 시에 전자 메일을 송신할 경우, 본체부의 조작 키부(ex366) 등의 조작에 의해 입력된 전자 메일의 텍스트 데이터는 조작 입력 제어부(ex362)를 통하여 주 제어부(ex360)에 송출된다. 주 제어부(ex360)는, 텍스트 데이터를 변조/복조부(ex352)에서 스펙트럼 확산 처리를 하고, 송신/수신부(ex351)에서 디지털 아날로그 변환 처리 및 주파수 변환 처리를 실시한 후에 안테나(ex350)를 통하여 기지국(ex110)으로 송신한다. 전자 메일을 수신할 경우는, 수신한 데이터에 대하여 이 거의 반대의 처리가 행해져, 표시부(ex358)에 출력된다.
데이터 통신 모드 시에 영상, 정지 화상, 또는 영상과 음성을 송신할 경우, 영상 신호 처리부(ex355)는, 카메라부(ex365)로부터 공급된 영상 신호를 상기 각 실시의 형태에서 나타낸 동화상 부호화 방법에 의해 압축 부호화하고, 부호화된 영상 데이터를 다중/분리부(ex353)에 송출한다. 또한, 음성 신호 처리부(ex354)는, 영상, 정지 화상 등을 카메라부(ex365)로 촬상 중에 음성 입력부(ex356)에서 수음한 음성 신호를 부호화하고, 부호화된 음성 데이터를 다중/분리부(ex353)에 송출한다.
다중/분리부(ex353)는, 영상 신호 처리부(ex355)로부터 공급된 부호화된 영상 데이터와 음성 신호 처리부(ex354)로부터 공급된 부호화된 음성 데이터를 소정의 방식으로 다중화하고, 그 결과 얻어지는 다중화 데이터를 변조/복조 회로부(ex352)에서 스펙트럼 확산 처리를 하고, 송신/수신부(ex351)에서 디지털 아날로그 변환 처리 및 주파수 변환 처리를 실시한 후에 안테나(ex350)를 통하여 송신한다.
데이터 통신 모드 시에 홈페이지 등에 링크된 동화상 파일의 데이터를 수신할 경우, 또는 영상 및 혹은 음성이 첨부된 전자 메일을 수신할 경우, 안테나(ex350)를 통하여 수신된 다중화 데이터를 복호화하기 위해서, 다중/분리부(ex353)는, 다중화 데이터를 분리함으로써 영상 데이터의 비트 스트림과 음성 데이터의 비트 스트림으로 나누고, 동기 버스(ex370)를 통하여 부호화된 영상 데이터를 영상 신호 처리부(ex355)에 공급함과 더불어, 부호화된 음성 데이터를 음성 신호 처리부(ex354)에 공급한다. 영상 신호 처리부(ex355)는, 상기 각 실시의 형태에서 나타낸 동화상 부호화 방법에 대응한 동화상 복호화 방법에 의해 복호화함으로써 영상 신호를 복호하고, LCD 제어부(ex359)를 통하여 표시부(ex358)로부터, 예를 들면 홈페이지에 링크된 동화상 파일에 포함되는 영상, 정지 화상이 표시된다. 또한 음성 신호 처리부(ex354)는, 음성 신호를 복호하고, 음성 출력부(ex357)로부터 음성이 출력된다.
또한, 상기 휴대 전화(ex114) 등의 단말은, 텔레비전(ex300)과 마찬가지로, 부호화기·복호화기를 양쪽 모두 가지는 송수신형 단말 외에, 부호화기만의 송신 단말, 복호화기만의 수신 단말이라고 하는 3가지의 실장 형식을 생각할 수 있다. 또한, 디지털 방송용 시스템(ex200)에 있어서, 영상 데이터에 음악 데이터 등이 다중화된 다중화된 다중화 데이터를 수신, 송신하는 것으로서 설명했는데, 음성 데이터 이외에 영상에 관련된 문자 데이터 등이 다중화된 데이터여도 되고, 다중화 데이터가 아니라 영상 데이터 자체여도 된다.
이와 같이, 상기 각 실시의 형태에서 나타낸 동화상 부호화 방법 혹은 동화상 복호화 방법을 상술한 어느 하나의 기기·시스템에 이용하는 것은 가능하고, 그렇게 함으로써, 상기 각 실시의 형태에서 설명한 효과를 얻을 수 있다.
또한, 본 발명은 이러한 상기 실시 형태에 한정되는 것이 아니라, 본 발명의 범위를 일탈하지 않고 다양한 변형 또는 수정이 가능하다.
(실시의 형태 3)
상기 각 실시의 형태에서 나타낸 동화상 부호화 방법 또는 장치와, MPEG-2, MPEG4-AVC, VC-1 등 상이한 규격에 준거한 동화상 부호화 방법 또는 장치를, 필요에 따라 적절히 전환함으로써, 영상 데이터를 생성하는 것도 가능하다.
여기서, 각각 다른 규격에 준거하는 복수의 영상 데이터를 생성한 경우, 복호할 때에, 각각의 규격에 대응한 복호 방법을 선택할 필요가 있다. 그러나, 복호할 영상 데이터가, 어느 규격에 준거하는 것인지 식별할 수 없으므로, 적절한 복호 방법을 선택할 수 없다는 과제를 낳는다.
이 과제를 해결하기 위해서, 영상 데이터에 음성 데이터 등을 다중화한 다중화 데이터는, 영상 데이터가 어느 규격에 준거하는 것인지를 나타내는 식별 정보를 포함하는 구성으로 한다. 상기 각 실시의 형태에서 나타내는 동영상 부호화 방법 또는 장치에 의해 생성된 영상 데이터를 포함하는 다중화 데이터의 구체적인 구성을 이하에 설명한다. 다중화 데이터는, MPEG-2 트랜스포트 스트림 형식의 디지털 스트림이다.
도 14는, 다중화 데이터의 구성을 나타내는 도면이다. 도 14에 나타내는 바와같이 다중화 데이터는, 비디오 스트림, 오디오 스트림, 프리젠테이션 그래픽스 스트림(PG), 인터랙티브 그래픽스 스트림 중, 1개 이상을 다중화함으로써 얻어진다. 비디오 스트림은 영화의 주영상 및 부영상을, 오디오 스트림(IG)은 영화의 주음성 부분과 그 주음성과 믹싱하는 부음성을, 프리젠테이션 그래픽스 스트림은, 영화의 자막을 각각 나타내고 있다. 여기서 주영상이란 화면에 표시되는 통상의 영상을 나타내고, 부영상이란 주영상 속에 작은 화면으로 표시하는 영상이다. 또한, 인터그래픽스 스트림은, 화면 상에 GUI 부품을 배치함으로써 작성되는 대화 화면을 나타내고 있다. 비디오 스트림은, 상기 각 실시의 형태에서 나타낸 동화상 부호화 방법 또는 장치, 종래의 MPEG-2, MPEG4-AVC, VC-1 등의 규격에 준거한 동화상 부호화 방법 또는 장치에 의해 부호화되어 있다. 오디오 스트림은, 돌비 AC-3, Dolby Digital Plus, MLP, DTS, DTS-HD, 또는, 리니어 PCM 등의 방식으로 부호화되어 있다.
다중화 데이터에 포함되는 각 스트림은 PID에 의해 식별된다. 예를 들면, 영화의 영상에 이용하는 비디오 스트림에는 0x1011이, 오디오 스트림에는 0x1100부터 0x111F까지가, 프리젠테이션 그래픽스에는 0x1200부터 0x121F까지가, 인터랙티브 그래픽스 스트림에는 0x1400부터 0x141F까지가, 영화의 부영상에 이용하는 비디오 스트림에는 0x1B00부터 0x1B1F까지, 주음성과 믹싱하는 부음성에 이용하는 오디오 스트림에는 0x1A00부터 0x1A1F가, 각각 할당되어 있다.
도 15는, 다중화 데이터가 어떻게 다중화되는지를 모식적으로 도시하는 도면이다. 우선, 복수의 비디오 프레임으로 이루어지는 비디오 스트림(ex235), 복수의 오디오 프레임으로 이루어지는 오디오 스트림(ex238)을, 각각 PES 패킷 열(ex236 및 ex239)로 변환하고, TS 패킷(ex237 및 ex240)으로 변환한다. 마찬가지로 프리젠테이션 그래픽스 스트림(ex241) 및 인터랙티브 그래픽스(ex244)의 데이터를 각각 PES 패킷 열(ex242 및 ex245)로 변환하고, 다시 TS 패킷(ex243 및 ex246)으로 변환한다. 다중화 데이터(ex247)는 이들 TS 패킷을 1개의 스트림에 다중화함으로써 구성된다.
도 16은 PES 패킷 열에, 비디오 스트림이 어떻게 저장되는지를 더욱 자세하게 나타내고 있다. 도 16에 있어서의 제1단째는 비디오 스트림의 비디오 프레임열을 나타낸다. 제2단째는, PES 패킷 열을 나타낸다. 도 16의 화살표 yy1, yy2, yy3, yy4에 표시하는 바와같이, 비디오 스트림에 있어서의 복수의 Video Presentation Unit인 I픽처, B픽처, P픽처는, 픽처마다 분할되고, PES 패킷의 페이로드에 저장된다. 각 PES 패킷은 PES 헤더를 가지고, PES 헤더에는, 픽처의 표시 시각인 PTS(Presentation Time-Stamp)나 픽처의 복호 시각인 DTS(Decoding Time-Stamp)가 저장된다.
도 17은, 다중화 데이터에 최종적으로 기입되는 TS 패킷의 형식을 나타내고 있다. TS 패킷은, 스트림을 식별하는 PID 등의 정보를 가지는 4Byte의 TS 헤더와 데이터를 저장하는 184Byte의 TS 페이로드로 구성되는 188Byte 고정 길이의 패킷이며, 상기 PES 패킷은 분할되어 TS 페이로드에 저장된다. BD-ROM의 경우, TS 패킷에는, 4Byte의 TP_Extra_Header가 부여되고, 192Byte의 소스 패킷을 구성하여, 다중화 데이터에 기입된다. TP_Extra_Header에는 ATS(Arrival_Time_Stamp) 등의 정보가 기재된다. ATS는 당해 TS 패킷의 디코더의 PID 필터로의 전송 개시 시각을 나타낸다. 다중화 데이터에는 도 17 하단에 나타내는 바와같이 소스 패킷이 늘어서게 되고, 다중화 데이터의 선두부터 인크리먼트하는 번호는 SPN(소스 패킷 넘버)으로 불린다.
또한, 다중화 데이터에 포함되는 TS 패킷에는, 영상·음성·자막 등의 각 스트림 이외에도 PAT(Program Association Table), PMT(Program Map Table), PCR(Program Clock Reference) 등이 있다. PAT는 다중화 데이터 중에 이용되는 PMT의 PID가 무엇인지를 나타내고, PAT 자신의 PID는 0으로 등록된다. PMT는, 다중화 데이터 중에 포함되는 영상·음성·자막 등의 각 스트림의 PID와 각 PID에 대응하는 스트림의 속성 정보를 가지고, 또한 다중화 데이터에 관한 각종 디스크립터를 가진다. 디스크립터에는 다중화 데이터의 카피의 허가·불허가를 지시하는 카피 컨트롤 정보 등이 있다. PCR은, ATS의 시간축인 ATC(Arrival Time Clock)와 PTS·DTS의 시간축인 STC(System Time Clock)의 동기를 취하기 위하여, 그 PCR 패킷이 디코더로 전송되는 ATS에 대응하는 STC 시간의 정보를 가진다.
도 18은 PMT의 데이터 구조를 자세하게 설명하는 도면이다. PMT의 선두에는, 그 PMT에 포함되는 데이터의 길이 등을 기록한 PMT 헤더가 배치된다. 그 뒤에는, 다중화 데이터에 관한 디스크립터가 복수 배치된다. 상기 카피 컨트롤 정보 등이, 디스크립터로서 기재된다. 디스크립터의 후에는, 다중화 데이터에 포함되는 각 스트림에 관한 스트림 정보가 복수 배치된다. 스트림 정보는, 스트림의 압축 코덱 등을 식별하기 위한 스트림 타입, 스트림의 PID, 스트림의 속성 정보(프레임 레이트, 어스펙트비 등)이 기재된 스트림 디스크립터로 구성된다. 스트림 디스크립터는 다중화 데이터에 존재하는 스트림의 수만큼 존재한다.
기록 매체 등에 기록할 경우에는, 상기 다중화 데이터는, 다중화 데이터 정보 파일과 함께 기록된다.
다중화 데이터 정보 파일은, 도 19에 나타내는 바와같이 다중화 데이터의 관리 정보이며, 다중화 데이터와 1대1로 대응하고, 다중화 데이터 정보, 스트림 속성 정보와 엔트리 맵으로 구성된다.
다중화 데이터 정보는 도 19에 나타내는 바와같이 시스템 레이트, 재생 개시 시각, 재생 종료 시각으로 구성되어 있다. 시스템 레이트는 다중화 데이터의, 후술하는 시스템 타겟 디코더의 PID 필터로의 최대 전송 레이트를 나타낸다. 다중화 데이터 중에 포함되는 ATS의 간격은 시스템 레이트 이하로 되도록 설정되어 있다. 재생 개시 시각은 다중화 데이터의 선두 비디오 프레임의 PTS이며, 재생 종료 시각은 다중화 데이터의 종단의 비디오 프레임의 PTS에 1프레임분의 재생 간격을 더한 것이 설정된다.
스트림 속성 정보는 도 20에 나타내는 바와같이, 다중화 데이터에 포함되는 각 스트림에 관한 속성 정보가, PID마다 등록된다. 속성 정보는 비디오 스트림, 오디오 스트림, 프리젠테이션 그래픽스 스트림, 인터랙티브 그래픽스 스트림마다 상이한 정보를 가진다. 비디오 스트림 속성 정보는, 그 비디오 스트림이 어떠한 압축 코덱으로 압축되었는지, 비디오 스트림을 구성하는 개개의 픽쳐 데이터의 해상도가 어느만큼인지, 어스펙트비는 어느정도인지, 프레임 레이트는 어느정도인지 등의 정보를 가진다. 오디오 스트림 속성 정보는, 그 오디오 스트림이 어떠한 압축 코덱으로 압축되었는지, 그 오디오 스트림에 포함되는 채널수는 무엇인지, 어떠한 언어에 대응하는지, 샘플링 주파수가 어느만큼인지 등의 정보를 가진다. 이들 정보는, 플레이어가 재생하기 전의 디코더의 초기화 등에 이용된다.
본 실시의 형태에 있어서는, 상기 다중화 데이터 중, PMT에 포함되는 스트림 타입을 이용한다. 또한, 기록 매체에 다중화 데이터가 기록되어 있는 경우에는, 다중화 데이터 정보에 포함되는, 비디오 스트림 속성 정보를 이용한다. 구체적으로는, 상기 각 실시의 형태에서 나타낸 동화상 부호화 방법 또는 장치에 있어서, PMT에 포함되는 스트림 타입, 또는, 비디오 스트림 속성 정보에 대하여, 상기 각 실시의 형태에서 나타낸 동화상 부호화 방법 또는 장치에 의해 생성된 영상 데이터인 것을 나타내는 고유의 정보를 설정하는 단계 또는 수단을 설치한다. 이 구성에 의해, 상기 각 실시의 형태에서 나타낸 동화상 부호화 방법 또는 장치에 의해 생성된 영상 데이터와, 다른 규격에 준거하는 영상 데이터를 식별하는 것이 가능해진다.
또한, 본 실시의 형태에 있어서의 동화상 복호화 방법의 단계를 도 21에 도시한다. 단계 exS100에 있어서, 다중화 데이터로부터 PMT에 포함되는 스트림 타입,또는, 다중화 데이터 정보에 포함되는 비디오 스트림 속성 정보를 취득한다. 다음에, 단계 exS101에 있어서, 스트림 타입, 또는, 비디오 스트림 속성 정보가 상기 각 실시의 형태에서 나타낸 동화상 부호화 방법 또는 장치에 의해 생성된 다중화 데이터인 것을 나타내는지 여부를 판단한다. 그리고, 스트림 타입, 또는, 비디오 스트림 속성 정보가 상기 각 실시의 형태에서 나타낸 동화상 부호화 방법 또는 장치에 의해 생성된 것이라고 판단된 경우에는, 단계 exS102에 있어서, 상기 각 실시의 형태에서 나타낸 동화상 복호 방법에 의해 복호를 행한다. 또한, 스트림 타입, 또는, 비디오 스트림 속성 정보가, 종래의 MPEG-2, MPEG4-AVC, VC-1 등의 규격에 준거하는 것을 나타내는 경우에는, 단계 exS103에 있어서, 종래의 규격에 준거한 동화상 복호 방법에 의해 복호를 행한다.
이와 같이, 스트림 타입, 또는, 비디오 스트림 속성 정보에 새로운 고유치를 설정함으로써, 복호할 때에, 상기 각 실시의 형태에서 나타낸 동화상 복호화 방법 또는 장치로 복호 가능한지를 판단할 수 있다. 따라서, 다른 규격에 준거하는 다중화 데이터가 입력된 경우라도, 적절한 복호화 방법 또는 장치를 선택할 수 있기 때문에, 에러를 발생시키지 않고 복호하는 것이 가능해진다. 또한, 본 실시의 형태에서 나타낸 동화상 부호화 방법 또는 장치, 또는, 동화상 복호 방법 또는 장치를, 상술한 어느 하나의 기기·시스템에 이용하는 것도 가능하다.
(실시의 형태 4)
상기 각 실시의 형태에서 나타낸 동화상 부호화 방법 및 장치, 동화상 복호화 방법 및 장치는, 전형적으로 집적 회로인 LSI에서 실현된다. 일예로서, 도 22에 1칩화된 LSI(ex500)의 구성을 나타낸다. LSI(ex500)는, 이하에 설명하는 요소(ex501, ex502, ex503, ex504, ex505, ex506, ex507, ex508, ex509)를 구비하고, 각 요소는 버스(ex510)를 통하여 접속되어 있다. 전원 회로부(ex505)는 전원이 온 상태인 경우에 각 부에 대하여 전력을 공급함으로써 동작가능한 상태로 기동한다.
예를 들면 부호화 처리를 행하는 경우에는, LSI(ex500)는, CPU(ex502), 메모리 컨트롤러(ex503), 스트림 컨트롤러(ex504), 구동 주파수 제어부(ex512) 등을 가지는 제어부(ex501)의 제어에 의거하여, AV I/O(ex509)에 의해 마이크(ex117)나 카메라(ex113) 등으로부터 AV 신호를 입력한다. 입력된 AV 신호는, 일단 SDRAM 등의 외부 메모리(ex511)에 축적된다. 제어부(ex501)의 제어에 의거하여, 축적한 데이터는 처리량이나 처리 속도에 따라 적절히 복수회로 나누는 등으로 되어 신호 처리부(ex507)에 보내지고, 신호 처리부(ex507)에 있어서 음성 신호의 부호화 및/또는 영상 신호의 부호화가 행해진다. 여기서 영상 신호의 부호화 처리는 상기 각 실시의 형태에서 설명한 부호화 처리이다. 신호 처리부(ex507)에서는 또한, 경우에 따라 부호화된 음성 데이터와 부호화된 영상 데이터를 다중화하는 등의 처리를 행하여, 스트림 I/O(ex506)로부터 외부로 출력한다. 이 출력된 다중화 데이터는, 기지국(ex107)을 향해서 송신되거나, 또는 기록 미디어(ex215)에 기입되기도 한다. 또한, 다중화할 때는 동기하도록, 일단 버퍼(ex508)에 데이터를 축적하면 된다.
또한, 상기에서는, 메모리(ex511)가 LSI(ex500)의 외부의 구성으로서 설명했지만, LSI(ex500)의 내부에 포함되는 구성이어도 된다. 버퍼(ex508)도 1개에 한정된 것은 아니고, 복수의 버퍼를 구비하고 있어도 된다. 또한, LSI(ex500)는 1칩화되어도 되고, 복수 칩화되어도 된다.
또한, 상기에서는, 제어부(ex510)가, CPU(ex502), 메모리 컨트롤러(ex503), 스트림 컨트롤러(ex504), 구동 주파수 제어부(ex512) 등을 가지는 것으로 하고 있지만, 제어부(ex510)의 구성은, 이 구성에 한정되지 않는다. 예를 들면, 신호 처리부(ex507)가 CPU를 더 구비하는 구성이어도 된다. 신호 처리부(ex507)의 내부에도 CPU를 설치함으로써, 처리 속도를 보다 향상시키는 것이 가능해진다. 또한, 다른 예로서, CPU(ex502)가 신호 처리부(ex507), 또는 신호 처리부(ex507)의 일부인 예를 들면 음성 신호 처리부를 구비하는 구성이어도 된다. 이러한 경우에는, 제어부(ex501)는, 신호 처리부(ex507), 또는 그 일부를 가지는 CPU(ex502)를 구비하는 구성이 된다.
또한, 여기서는, LSI로 했지만, 집적도의 차이에 따라, IC, 시스템 LSI, 슈퍼 LSI, 울트라 LSI로 불리기도 한다.
또한, 집적 회로화의 수법은 LSI에 한정되는 것은 아니고, 전용 회로 또는 범용 프로세서로 실현해도 된다. LSI 제조후에, 프로그램하는 것이 가능한 FPGA(Field Programmable Gate Array) 나, LSI 내부의 회로 셀의 접속이나 설정을 재구성 가능한 리콘피규러블·프로세서를 이용해도 된다.
또한, 반도체 기술의 진보 또는 파생하는 다른 기술에 의해 LSI로 치환되는 집적 회로화의 기술이 등장하면, 당연히, 그 기술을 이용하여 기능 블록의 집적화를 행해도 된다. 바이오 기술의 적응 등이 가능성으로서 있을 수 있다.
(실시의 형태 5)
상기 각 실시의 형태에서 나타낸 동화상 부호화 방법 또는 장치에 의해 생성된 영상 데이터를 복호할 경우, 종래의 MPEG-2, MPEG4-AVC, VC-1 등의 규격에 준거하는 영상 데이터를 복호하는 경우에 비해, 처리량이 증가하는 것을 생각할 수 있다. 이 때문에, LSI(ex500)에 있어서, 종래의 규격에 준거하는 영상 데이터를 복호할 때의 CPU(ex502)의 구동 주파수보다도 높은 구동 주파수로 설정할 필요가 있다. 그러나, 구동 주파수를 높게 하면, 소비 전력이 높아진다는 과제가 생긴다.
이 과제를 해결하기 위해서, 텔레비전(ex300), LSI(ex500) 등의 동화상 복호화 장치는, 영상 데이터가 어느 규격에 준거하는 것인지를 식별하고, 규격에 따라서 구동 주파수를 전환하는 구성으로 한다. 도 23은, 본 실시의 형태에 있어서의 구성(ex800)을 나타내고 있다. 구동 주파수 전환부(ex803)는, 영상 데이터가, 상기 각 실시의 형태에서 나타낸 동화상 부호화 방법 또는 장치에 의해 생성된 것인 경우에는, 구동 주파수를 높게 설정한다. 그리고, 상기 각 실시의 형태에서 나타낸 동화상 복호화 방법을 실행하는 복호 처리부(ex801)에 대하여, 영상 데이터를 복호하도록 지시한다. 한편, 영상 데이터가, 종래의 규격에 준거하는 영상 데이터일 경우에는, 영상 데이터가, 상기 각 실시의 형태에서 나타낸 동화상 부호화 방법 또는 장치에 의해 생성된 것인 경우에 비해, 구동 주파수를 낮게 설정한다. 그리고, 종래의 규격에 준거하는 복호 처리부(ex802)에 대하여, 영상 데이터를 복호하도록 지시한다.
보다 구체적으로는, 구동 주파수 전환부(ex803)는, 도 22의 CPU(ex502)와 구동 주파수 제어부(ex512)로 구성된다. 또한, 상기 각 실시의 형태에서 나타낸 동화상 복호화 방법을 실행하는 복호 처리부(ex801), 및, 종래의 규격에 준거하는 복호 처리부(ex802)는, 도 22의 신호 처리부(ex507)에 해당한다. CPU(ex502)는, 영상 데이터가 어느 규격에 준거하는 것인지를 식별한다. 그리고, CPU(ex502)로부터의 신호에 의거하여, 구동 주파수 제어부(ex512)는, 구동 주파수를 설정한다. 또한, CPU(ex502)로부터의 신호에 의거하여, 신호 처리부(ex507)는, 영상 데이터의 복호를 행한다. 여기서, 영상 데이터의 식별에는, 예를 들면, 실시의 형태 3에서기재한 식별 정보를 이용하는 것을 생각할 수 있다. 식별 정보에 관해서는, 실시의 형태 3에서 기재한 것에 한정되지 않고, 영상 데이터가 어느 규격에 준거하는지 식별할 수 있는 정보이면 된다. 예를 들면, 영상 데이터가 텔레비전에 이용되는 것인지, 디스크에 이용되는 것인지 등을 식별하는 외부 신호에 의거하여, 영상 데이터가 어느 규격에 준거하는 것인지 식별 가능한 경우에는, 이러한 외부 신호에 의거하여 식별해도 된다. 또한, CPU(ex502)에 있어서의 구동 주파수의 선택은, 예를 들면, 도 25와 같은 영상 데이터의 규격과, 구동 주파수를 대응시킨 룩 업 테이블에 의거하여 행하는 것을 생각할 수 있다. 룩 업 테이블을, 버퍼(ex508)나, LSI의 내부 메모리에 저장해 두고, CPU(ex502)가 이 룩 업 테이블을 참조함으로써, 구동 주파수를 선택하는 것이 가능하다.
도 24는, 본 실시의 형태의 방법을 실시하는 단계를 나타내고 있다. 우선, 단계 exS200에서는, 신호 처리부(ex507)에 있어서, 다중화 데이터로부터 식별 정보를 취득한다. 다음에, 단계 exS201에서는, CPU(ex502)에 있어서, 식별 정보에 의거하여 영상 데이터가 상기 각 실시의 형태에서 나타낸 부호화 방법 또는 장치에 의해 생성된 것인지 여부를 식별한다. 영상 데이터가 상기 각 실시의 형태에서 나타낸 부호화 방법 또는 장치에 의해 생성된 것인 경우에는, 단계 exS202에 있어서, 구동 주파수를 높게 설정하는 신호를, CPU(ex502)가 구동 주파수 제어부(ex512)에 보낸다. 그리고, 구동 주파수 제어부(ex512)에 있어서, 높은 구동 주파수로 설정된다. 한편, 종래의 MPEG-2, MPEG4-AVC, VC-1 등의 규격에 준거하는 영상 데이터인 것을 나타내는 경우에는, 단계 exS203에 있어서, 구동 주파수를 낮게 설정하는 신호를, CPU(ex502)가 구동 주파수 제어부(ex512)에 보낸다. 그리고, 구동 주파수 제어부(ex512)에 있어서, 영상 데이터가 상기 각 실시의 형태에서 나타낸 부호화 방법 또는 장치에 의해 생성된 것인 경우에 비해, 낮은 구동 주파수로 설정된다.
또한, 구동 주파수의 전환에 연동하여, LSI(ex500) 또는 LSI(ex500)를 포함하는 장치에 부여하는 전압을 변경함으로써, 전력 절약 효과를 보다 높이는 것이 가능하다. 예를 들면, 구동 주파수를 낮게 설정할 경우에는, 이에 따라, 구동 주파수를 높게 설정하고 있는 경우에 비해, LSI(ex500) 또는 LSI(ex500)를 포함하는 장치에 부여되는 전압을 낮게 설정하는 것을 생각할 수 있다.
또한, 구동 주파수의 설정 방법은, 복호할 때의 처리량이 클 경우에, 구동 주파수를 높게 설정하고, 복호할 때의 처리량이 작은 경우에, 구동 주파수를 낮게 설정하면 되고, 상술한 설정 방법에 한정되지 않는다. 예를 들면, MPEG4-AVC 규격에 준거하는 영상 데이터를 복호하는 처리량의 쪽이, 상기 각 실시의 형태에서 나타낸 동화상 부호화 방법 또는 장치에 의해 생성된 영상 데이터를 복호하는 처리량보다도 클 경우에는, 구동 주파수의 설정을 상술한 경우의 반대로 하는 것을 생각할 수 있다.
또한, 구동 주파수의 설정 방법은, 구동 주파수를 낮게 하는 구성에 한정되지 않는다. 예를 들면, 식별 정보가, 상기 각 실시의 형태에서 나타낸 동화상 부호화 방법 또는 장치에 의해 생성된 영상 데이터인 것을 나타내는 경우에는, LSI(ex500) 또는 LSI(ex500)을 포함하는 장치에 부여하는 전압을 높게 설정하고, 종래의 MPEG-2, MPEG4-AVC, VC-1 등의 규격에 준거하는 영상 데이터인 것을 나타내는 경우에는, LSI(ex500) 또는 LSI(ex500)을 포함하는 장치에 부여하는 전압을 낮게 설정하는 것도 생각할 수 있다. 또한, 다른 예로서는, 식별 정보가, 상기 각 실시의 형태에서 나타낸 동화상 부호화 방법 또는 장치에 의해 생성된 영상 데이터인 것을 나타내는 경우에는, CPU(ex502)의 구동을 정지시키지 않고, 종래의 MPEG-2, MPEG4-AVC, VC-1 등의 규격에 준거하는 영상 데이터인 것을 나타내는 경우에는, 처리에 여유가 있기 때문에, CPU(ex502)의 구동을 일시 정지시키는 것도 생각할 수 있다. 식별 정보가, 상기 각 실시의 형태에서 나타낸 동화상 부호화 방법 또는 장치에 의해 생성된 영상 데이터인 것을 나타내는 경우에도, 처리에 여유가 있으면, CPU(ex502)의 구동을 일시 정지시키는 것도 생각할 수 있다. 이 경우는, 종래의 MPEG-2, MPEG4-AVC, VC-1 등의 규격에 준거하는 영상 데이터인 것을 나타내는 경우에 비해, 정지 시간을 짧게 설정하는 것을 생각할 수 있다.
이와 같이, 영상 데이터가 준거하는 규격에 따라, 구동 주파수를 전환함으로써, 전력 절약화를 도모하는 것이 가능해진다. 또한, 전지를 이용하여 LSI(ex500) 또는 LSI(ex500)를 포함하는 장치를 구동하고 있는 경우에는, 전력 절약화에 따라, 전지의 수명을 길게 하는 것이 가능하다.
(실시의 형태 6)
텔레비전이나, 휴대전화 등, 상술한 기기 시스템에는, 상이한 규격에 준거하는 복수의 영상 데이터가 입력될 경우가 있다. 이와 같이, 상이한 규격에 준거하는 복수의 영상 데이터가 입력된 경우에도 복호할 수 있도록 하기 위해서, LSI(ex500)의 신호 처리부(ex507)가 복수의 규격에 대응하고 있을 필요가 있다. 그러나, 각각의 규격에 대응하는 신호 처리부(ex507)를 개별로 이용하면, LSI(ex500)의 회로 규모가 커지고, 또한, 비용이 증가한다는 과제가 생긴다.
이 과제를 해결하기 위해서, 상기 각 실시의 형태에서 나타낸 동화상 복호 방법을 실행하기 위한 복호 처리부와, 종래의 MPEG-2, MPEG4-AVC, VC-1 등의 규격에 준거하는 복호 처리부를 일부 공유화하는 구성으로 한다. 이 구성예를 도 26a의 ex900로 나타낸다. 예를 들면, 상기 각 실시의 형태에서 나타낸 동화상 복호 방법과, MPEG4-AVC 규격에 준거하는 동화상 복호 방법은, 엔트로피 부호화, 역양자화, 비블록화·필터, 움직임 보상 등의 처리에 있어서 처리 내용이 일부 공통된다. 공통되는 처리 내용에 대해서는, MPEG4-AVC 규격에 대응하는 복호 처리부(ex902)를 공유하고, MPEG4-AVC 규격에 대응하지 않는, 본 발명 특유의 다른 처리 내용에 대해서는, 전용의 복호 처리부(ex901)를 이용하는 구성을 생각할 수 있다. 복호 처리부의 공유화에 관해서는, 공통되는 처리 내용에 대해서는, 상기 각 실시의 형태에서 나타낸 동화상 복호화 방법을 실행하기 위한 복호 처리부를 공유하고, MPEG4-AVC 규격에 특유의 처리 내용에 대해서는, 전용의 복호 처리부를 이용하는 구성이어도 된다.
또한, 처리를 일부 공유화하는 다른 예를 도 26b의 ex1000로 나타낸다. 이 예에서는, 본 발명에 특유의 처리 내용에 대응한 전용의 복호 처리부(ex1001)와, 다른 종래 규격에 특유의 처리 내용에 대응한 전용의 복호 처리부(ex1002)와, 본 발명의 동화상 복호 방법과 다른 종래 규격의 동화상 복호 방법에 공통되는 처리 내용에 대응한 공용의 복호 처리부(ex1003)를 이용하는 구성으로 하고 있다. 여기에서, 전용의 복호 처리부(ex1001, ex1002)는, 반드시 본 발명, 또는, 다른 종래 규격에 특유의 처리 내용으로 특화한 것은 아니고, 다른 범용 처리를 실행할 수 있는 것이어도 된다. 또한, 본 실시의 형태의 구성을, LSI(ex500)에 실장하는 것도 가능하다.
이와 같이, 본 발명의 동화상 복호 방법과, 종래의 규격의 동화상 복호 방법에서 공통되는 처리 내용에 대하여, 복호 처리부를 공유함으로써, LSI의 회로 규모를 작게 하고, 또한, 비용을 저감하는 것이 가능하다.
<산업상의 이용 가능성>
본 발명에 관련된 공간 예측 방법은, 공간 예측의 복잡도를 저감할 수 있고, 예를 들면, 그 공간 예측의 결과를 이용하여 화상을 부호화하는 화상 부호화 장치, 그 공간 예측의 결과를 이용하여 화상을 복호하는 화상 복호 장치, 또는, 그 화상 부호화 장치 및 화상 복호 장치 중의 적어도 1개를 구비한 휴대전화, PC, 혹은 기록 재생 장치 등에 적용할 수 있다.
100 : 화상 부호화 장치(인코더) 105 : 감산부
110 : 변환/양자화부 120 : 역양자화/역변환부
125 : 가산부 130 : 비블록화 필터
140 : 메모리 150 : 보간 필터
160 : 움직임 보상 예측부 165 : 움직임 검출부
170 : 인트라 예측부 175 : 인트라/인터 전환부
180 : 포스트 필터 설계부 190 : 엔트로피 부호화부
200 : 화상 복호 장치(디코더) 220 : 역양자화/역변환부
225 : 가산부 230 : 비블록화 필터
240 : 메모리 250 : 보간 필터
260 : 움직임 보상 예측부 270 : 인트라 예측부
275 : 인트라/인터 전환부 280 : 포스트 필터
290 : 엔트로피 복호부

Claims (18)

  1. 화상을 구성하는 예측 대상 블록 내의 각 화소 위치에 있어서의 화소값을 예측하는 공간 예측 방법으로서,
    모드 번호로 지시되는 수평 구배 및 수직 구배 중의 적어도 1개에 의거하여, 경사를 정수값으로 표시하는 정수 경사를 산출하고,
    상기 예측 대상 블록 내의 화소 위치를 통과하는 상기 정수 경사의 선과, 상기 예측 대상 블록에 인접하는 인접 블록의 경계의 교점인 소수 화소 위치를 결정하고,
    상기 예측 대상 블록 내의 화소 위치마다, 상기 화소 위치에 대하여 결정된 상기 소수 화소 위치에 보간된 화소값에 의거하여, 상기 화소 위치의 화소값을 예측하는, 공간 예측 방법.
  2. 청구항 1에 있어서,
    상기 정수 경사를 산출할 때는,
    상기 수평 구배 또는 상기 수직 구배에 대하여, 2의 c승(c는 양의 정수)에 의한 스케일링을 행하고, 스케일링된 상기 수평 구배 또는 상기 수직 구배를 이용하여 상기 정수 경사를 산출하고,
    상기 소수 화소 위치를 결정할 때는,
    스케일링을 행하여 생성된 상기 정수 경사를, 상기 예측 대상 블록 내에서 예측의 대상이 되는 화소 위치의 수평 방향 또는 수직 방향의 좌표값으로 곱함으로써, 상기 화소 위치에 대한 상기 소수 화소 위치를 산출하는, 공간 예측 방법.
  3. 청구항 2에 있어서,
    상기 공간 예측 방법은, 또한,
    상기 수평 구배 또는 상기 수직 구배의 함수에 의해, 상기 c를 산출하는, 공간 예측 방법.
  4. 청구항 1에 있어서,
    상기 정수 경사를 산출할 때는,
    미리 정해진 값마다, 상기 미리 정해진 값과, 상기 미리 정해진 값을 나누는 수로서 이용한 나눗셈의 결과를 나타내는, 메모리에 저장된 나눗셈 테이블을 참조함으로써, 상기 수직 구배 및 상기 수평 구배 중의 한쪽의 구배를 나타내는 값을 나누는 수로서 이용한 나눗셈의 결과를 취득하고, 취득된 상기 나눗셈의 결과를 이용하여 상기 정수 경사를 산출하는, 공간 예측 방법.
  5. 청구항 4에 있어서,
    상기 나눗셈 테이블에 표시되는 상기 미리 정해진 값의 최대치는 2의 b승(b는 정수)이며,
    상기 정수 경사를 산출할 때는,
    상기 수직 구배 및 상기 수평 구배 중의 나누는 수로서 이용되는 구배를 나타내는 값이 2의 b승을 넘는 경우에는, 상기 구배를 나타내는 값을 우측으로 비트 시프트함으로써, 상기 구배를 스케일링하고, 스케일링된 상기 구배를 나타내는 값을 나누는 수로서 이용한 나눗셈의 결과를 취득하는, 공간 예측 방법.
  6. 청구항 1에 있어서,
    상기 정수 경사를 산출할 때는,
    상기 수직 구배 및 상기 수평 구배 중의 한쪽의 구배를 나타내는 값을 다른쪽의 구배를 나타내는 값으로 나눔으로써, 상기 정수 경사를 산출하고,
    상기 예측 대상 블록 내의 화소 위치마다 상기 화소 위치의 화소값을 예측할 때는,
    상기 경계에 있어서, 상기 화소 위치에 대하여 결정된 상기 소수 화소 위치와, 상기 소수 화소 위치에 이웃하는 복수의 정수 화소 위치 사이의 거리에 따라 가중치를 설정하고,
    상기 복수의 정수 화소 위치의 화소값의 각각에 상기 가중치를 부여하여 평균을 산출함으로써, 상기 소수 화소 위치에 있어서의 화소값을 보간하는, 공간 예측 방법.
  7. 청구항 1에 있어서,
    상기 정수 경사를 산출할 때는,
    상기 예측 대상 블록에 대하여 1개만 상기 정수 경사를 산출하고,
    상기 소수 화소 위치를 결정할 때는,
    상기 예측 대상 블록 내의 모든 화소 위치의 각각에 대하여, 공통의 상기 정수 경사를 이용하여 상기 소수 화소 위치를 결정하는, 공간 예측 방법.
  8. 블록마다 부호화된 화상을 복호하는 화상 복호 방법으로서,
    청구항 1에 기재된 공간 예측 방법을 이용하여, 복호 대상 블록 내의 각 화소 위치에 있어서의 화소값을 예측함으로써, 예측 블록을 생성하고,
    예측 오차 블록을 취득하고,
    상기 예측 오차 블록에 상기 예측 블록을 가산하는, 화상 복호 방법.
  9. 화상을 블록마다 부호화하는 화상 부호화 방법으로서,
    청구항 1에 기재된 공간 예측 방법을 이용하여, 부호화 대상 블록 내의 각 화소 위치에 있어서의 화소값을 예측함으로써, 예측 블록을 생성하고,
    상기 부호화 대상 블록으로부터 상기 예측 블록을 감산하는, 화상 부호화 방법.
  10. 화상을 구성하는 예측 대상 블록 내의 각 화소 위치에 있어서의 화소값을 예측하는 공간 예측 장치로서,
    모드 번호로 지시되는 수평 구배 및 수직 구배 중의 적어도 1개에 의거하여, 경사를 정수값으로 나타내는 정수 경사를 산출하는 산출부와,
    상기 예측 대상 블록 내의 화소 위치를 통과하는 상기 정수 경사의 선과, 상기 예측 대상 블록에 인접하는 인접 블록의 경계의 교점인 소수 화소 위치를 결정하는 결정부와,
    상기 예측 대상 블록 내의 화소 위치마다, 상기 화소 위치에 대하여 결정된 상기 소수 화소 위치에 보간된 화소값에 의거하여, 상기 화소 위치의 화소값을 예측하는 예측부를 구비하는, 공간 예측 장치.
  11. 블록마다 부호화된 화상을 복호하는 화상 복호 장치로서,
    복호 대상 블록 내의 각 화소 위치에 있어서의 화소값을 예측함으로써 예측 블록을 생성하는 청구항 10에 기재된 공간 예측 장치와,
    예측 오차 블록을 취득하고, 상기 예측 오차 블록에 상기 예측 블록을 가산하는 가산부를 구비하는, 화상 복호 장치.
  12. 화상을 블록마다 부호화하는 화상 부호화 장치로서,
    부호화 대상 블록 내의 각 화소 위치에 있어서의 화소값을 예측함으로써 예측 블록을 생성하는 청구항 10에 기재된 공간 예측 장치와,
    상기 부호화 대상 블록으로부터 상기 예측 블록을 감산하는 감산부를 구비하는, 화상 부호화 장치.
  13. 삭제
  14. 삭제
  15. 삭제
  16. 화상을 구성하는 예측 대상 블록 내의 각 화소 위치에 있어서의 화소값을 예측하는 집적 회로로서,
    모드 번호로 지시되는 수평 구배 및 수직 구배 중의 적어도 1개에 의거하여, 경사를 정수값으로 나타내는 정수 경사를 산출하는 산출부와,
    상기 예측 대상 블록 내의 화소 위치를 통과하는 상기 정수 경사의 선과, 상기 예측 대상 블록에 인접하는 인접 블록의 경계의 교점인 소수 화소 위치를 결정하는 결정부와,
    상기 예측 대상 블록 내의 화소 위치마다, 상기 화소 위치에 대하여 결정된 상기 소수 화소 위치에 보간된 화소값에 의거하여, 상기 화소 위치의 화소값을 예측하는 예측부를 구비하는, 집적 회로.
  17. 블록마다 부호화된 화상을 복호하는 화상 복호 집적 회로로서,
    복호 대상 블록 내의 각 화소 위치에 있어서의 화소값을 예측함으로써 예측 블록을 생성하는 청구항 16에 기재된 집적 회로와,
    예측 오차 블록을 취득하고, 상기 예측 오차 블록에 상기 예측 블록을 가산하는 가산부를 구비하는, 화상 복호 집적 회로.
  18. 화상을 블록마다 부호화하는 화상 부호화 집적 회로로서,
    부호화 대상 블록 내의 각 화소 위치에 있어서의 화소값을 예측함으로써 예측 블록을 생성하는 청구항 16에 기재된 집적 회로와,
    상기 부호화 대상 블록으로부터 상기 예측 블록을 감산하는 감산부를 구비하는, 화상 부호화 집적 회로.
KR1020127026384A 2010-04-12 2011-04-11 공간 예측 방법, 화상 복호 방법, 및 화상 부호화 방법 KR101780084B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP10003876A EP2375751A1 (en) 2010-04-12 2010-04-12 Complexity reduction of edge-detection based spatial interpolation
EP10003876.9 2010-04-12
PCT/JP2011/002113 WO2011129084A1 (ja) 2010-04-12 2011-04-11 空間予測方法、画像復号方法、および画像符号化方法

Publications (2)

Publication Number Publication Date
KR20130050288A KR20130050288A (ko) 2013-05-15
KR101780084B1 true KR101780084B1 (ko) 2017-09-19

Family

ID=42369861

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127026384A KR101780084B1 (ko) 2010-04-12 2011-04-11 공간 예측 방법, 화상 복호 방법, 및 화상 부호화 방법

Country Status (13)

Country Link
US (5) US8824817B2 (ko)
EP (3) EP2375751A1 (ko)
JP (3) JP5798550B2 (ko)
KR (1) KR101780084B1 (ko)
CN (3) CN102835112B8 (ko)
AU (1) AU2011241708B8 (ko)
CA (1) CA2794351C (ko)
MX (1) MX2012011165A (ko)
MY (1) MY156119A (ko)
RU (1) RU2571550C2 (ko)
SG (1) SG184518A1 (ko)
WO (1) WO2011129084A1 (ko)
ZA (1) ZA201206591B (ko)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101567974B1 (ko) * 2009-01-05 2015-11-10 에스케이 텔레콤주식회사 블록 모드 부호화/복호화 방법 및 장치와 그를 이용한 영상부호화/복호화 방법 및 장치
EP2375751A1 (en) 2010-04-12 2011-10-12 Panasonic Corporation Complexity reduction of edge-detection based spatial interpolation
US8787444B2 (en) * 2010-07-16 2014-07-22 Sony Corporation Differential coding of intra directions (DCIC)
JP2012169762A (ja) * 2011-02-10 2012-09-06 Sony Corp 画像符号化装置と画像復号化装置およびその方法とプログラム
US8768082B2 (en) 2011-06-22 2014-07-01 Blackberry Limited Compressing image data
US8837582B2 (en) 2011-06-22 2014-09-16 Blackberry Limited Compressing image data
JP6120490B2 (ja) * 2011-11-07 2017-04-26 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
EP2805492B1 (en) 2012-01-19 2018-11-14 VID SCALE, Inc. System and method of video coding quantization and dynamic range control
US9743097B2 (en) 2013-03-01 2017-08-22 Qualcomm Incorporated Spatial motion vector scaling for scalable video coding
EP3023938A1 (en) * 2014-11-21 2016-05-25 Thomson Licensing Method and apparatus for tracking the motion of image content in a video frames sequence using sub-pixel resolution motion estimation
JP2018533871A (ja) * 2015-11-11 2018-11-15 サムスン エレクトロニクス カンパニー リミテッド ビデオ復号方法及びその装置、並びにビデオ符号化方法及びその装置
KR102345475B1 (ko) * 2016-01-05 2022-01-03 한국전자통신연구원 잔차 신호에 대한 예측 방법 및 장치
US20170244981A1 (en) 2016-02-24 2017-08-24 Mediatek Inc. Reconfigurable interpolation filter and associated interpolation filtering method
CN105791878B (zh) * 2016-03-04 2019-04-05 广东顺德中山大学卡内基梅隆大学国际联合研究院 图像错误隐藏方法与系统
US10390021B2 (en) 2016-03-18 2019-08-20 Mediatek Inc. Method and apparatus of video coding
CN105828104A (zh) * 2016-05-11 2016-08-03 乐视控股(北京)有限公司 一种视频数据处理方法和装置
US10735725B2 (en) 2016-09-14 2020-08-04 Microsoft Technology Licensing, Llc Boundary-intersection-based deblock filtering
US10432856B2 (en) * 2016-10-27 2019-10-01 Mediatek Inc. Method and apparatus of video compression for pre-stitched panoramic contents
CN116437109A (zh) * 2017-01-31 2023-07-14 夏普株式会社 用于执行平面帧内预测视频编码的系统和方法
JP7086587B2 (ja) * 2017-02-24 2022-06-20 インターデジタル ヴイシー ホールディングス, インコーポレイテッド 復号された画像データから画像データを再構成する方法および装置
US11310532B2 (en) 2017-02-24 2022-04-19 Interdigital Vc Holdings, Inc. Method and device for reconstructing image data from decoded image data
WO2018219925A1 (en) * 2017-05-31 2018-12-06 Interdigital Vc Holdings, Inc. Method and apparatus for signalling bi-directional intra prediction in video encoding and decoding
CN109509166B (zh) * 2017-09-15 2021-05-04 凌云光技术股份有限公司 印刷电路板图像检测方法和装置
KR20200058417A (ko) * 2017-10-16 2020-05-27 디지털인사이트 주식회사 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
US10694188B2 (en) * 2017-12-18 2020-06-23 Arris Enterprises Llc System and method for constructing a plane for planar prediction
CN111771377A (zh) * 2018-01-30 2020-10-13 松下电器(美国)知识产权公司 编码装置、解码装置、编码方法和解码方法
US11611757B2 (en) * 2018-04-02 2023-03-21 Qualcomm Incorproated Position dependent intra prediction combination extended with angular modes
CN110418081B (zh) * 2018-04-27 2021-12-24 北京紫光展锐通信技术有限公司 高动态范围图像全分辨率重建方法、装置及电子设备
CN112840659A (zh) * 2018-09-14 2021-05-25 松下电器(美国)知识产权公司 编码装置、解码装置、编码方法和解码方法
JP7311589B2 (ja) 2018-09-21 2023-07-19 ヴィド スケール インコーポレイテッド 双方向オプティカルフローのための複雑性低減およびビット幅制御
US10602177B1 (en) * 2018-10-01 2020-03-24 Novatek Microelectronics Corp. Frame rate up-conversion apparatus and operation method thereof
CN111209475B (zh) * 2019-12-27 2022-03-15 武汉大学 一种基于时空序列和社会嵌入排名的兴趣点推荐方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070014482A1 (en) 2005-07-14 2007-01-18 Mavs Lab. Inc. Pixel data generating method
JP2009284275A (ja) 2008-05-23 2009-12-03 Nippon Telegr & Teleph Corp <Ntt> 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、画像符号化プログラム、画像復号プログラムおよびそれらのプログラムを記録したコンピュータ読み取り可能な記録媒体

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6563953B2 (en) * 1998-11-30 2003-05-13 Microsoft Corporation Predictive image compression using a single variable length code for both the luminance and chrominance blocks for each macroblock
US6940557B2 (en) * 2001-02-08 2005-09-06 Micronas Semiconductors, Inc. Adaptive interlace-to-progressive scan conversion algorithm
FI20011610A0 (fi) * 2001-08-07 2001-08-07 Nokia Corp Menetelmä ja laite jakolaskun suorittamiseksi
US20040001546A1 (en) * 2002-06-03 2004-01-01 Alexandros Tourapis Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation
US7523152B2 (en) 2002-12-26 2009-04-21 Intel Corporation Methods for supporting extended precision integer divide macroinstructions in a processor
CN1795680B (zh) 2003-03-03 2010-06-16 新加坡科技研究局 采用avc帧内预测以便对数字视频进行编码的方法和装置
RU2369038C1 (ru) * 2005-11-30 2009-09-27 Кабусики Кайся Тосиба Способ кодирования изображения/декодирования изображения, устройство кодирования изображения/декодирования изображения
KR100750145B1 (ko) * 2005-12-12 2007-08-21 삼성전자주식회사 영상의 인트라 예측 부호화, 복호화 방법 및 장치
US7796480B2 (en) * 2006-06-05 2010-09-14 Mediatek Inc. Apparatus and methods for light spot servo signal detection
CN103338365B (zh) 2007-06-29 2017-04-12 夏普株式会社 图像编码装置、图像编码方法、图像译码装置、图像译码方法
CN101217669A (zh) * 2008-01-15 2008-07-09 北京中星微电子有限公司 帧内预测方法及装置
EP2081386A1 (en) * 2008-01-18 2009-07-22 Panasonic Corporation High precision edge prediction for intracoding
KR20090095316A (ko) * 2008-03-05 2009-09-09 삼성전자주식회사 영상 인트라 예측 방법 및 장치
WO2010087157A1 (ja) 2009-01-29 2010-08-05 パナソニック株式会社 画像符号化方法及び画像復号方法
US8379985B2 (en) * 2009-07-03 2013-02-19 Sony Corporation Dominant gradient method for finding focused objects
TWI562600B (en) 2010-02-08 2016-12-11 Nokia Technologies Oy An apparatus, a method and a computer program for video coding
US8879632B2 (en) * 2010-02-18 2014-11-04 Qualcomm Incorporated Fixed point implementation for geometric motion partitioning
EP2375751A1 (en) * 2010-04-12 2011-10-12 Panasonic Corporation Complexity reduction of edge-detection based spatial interpolation
US8953882B2 (en) * 2012-05-31 2015-02-10 Apple Inc. Systems and methods for determining noise statistics of image data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070014482A1 (en) 2005-07-14 2007-01-18 Mavs Lab. Inc. Pixel data generating method
JP2009284275A (ja) 2008-05-23 2009-12-03 Nippon Telegr & Teleph Corp <Ntt> 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、画像符号化プログラム、画像復号プログラムおよびそれらのプログラムを記録したコンピュータ読み取り可能な記録媒体

Also Published As

Publication number Publication date
US9215465B2 (en) 2015-12-15
BR112012026015A2 (pt) 2016-06-28
WO2011129084A1 (ja) 2011-10-20
SG184518A1 (en) 2012-11-29
AU2011241708A2 (en) 2012-11-01
EP2560388A1 (en) 2013-02-20
CN105430402B (zh) 2018-08-03
AU2011241708B2 (en) 2015-09-24
CA2794351A1 (en) 2011-10-20
KR20130050288A (ko) 2013-05-15
JPWO2011129084A1 (ja) 2013-07-11
CN105338356A (zh) 2016-02-17
JP2017055409A (ja) 2017-03-16
EP3217664B1 (en) 2020-06-03
CA2794351C (en) 2018-01-23
RU2012143157A (ru) 2014-06-27
US20160057451A1 (en) 2016-02-25
CN102835112B8 (zh) 2018-03-06
US9961367B2 (en) 2018-05-01
CN105430402A (zh) 2016-03-23
US20130028530A1 (en) 2013-01-31
JP6195179B2 (ja) 2017-09-13
CN102835112A (zh) 2012-12-19
MX2012011165A (es) 2012-11-06
EP2375751A1 (en) 2011-10-12
ZA201206591B (en) 2014-05-28
EP3217664A1 (en) 2017-09-13
AU2011241708B8 (en) 2015-10-08
US20180220155A1 (en) 2018-08-02
EP2560388A4 (en) 2014-05-28
JP2015213377A (ja) 2015-11-26
MY156119A (en) 2016-01-15
US20140334544A1 (en) 2014-11-13
CN102835112B (zh) 2016-01-20
US10567797B2 (en) 2020-02-18
RU2571550C2 (ru) 2015-12-20
AU2011241708A1 (en) 2012-11-01
US8824817B2 (en) 2014-09-02
US20170150177A1 (en) 2017-05-25
CN105338356B (zh) 2018-08-03
US9602837B2 (en) 2017-03-21
JP6025108B2 (ja) 2016-11-16
JP5798550B2 (ja) 2015-10-21

Similar Documents

Publication Publication Date Title
KR101780084B1 (ko) 공간 예측 방법, 화상 복호 방법, 및 화상 부호화 방법
JP6064235B2 (ja) 符号化方法、プログラムおよび符号化装置
JP6094973B2 (ja) 色平面内予測を用いて映像を符号化および復号する方法および装置
AU2011247331A1 (en) Filtering mode for intra prediction inferred from statistics of surrounding blocks
JP6004375B2 (ja) 画像符号化方法および画像復号化方法
WO2012117744A1 (en) Method of encoding an image into a coded image, method of decoding a coded image, and apparatuses thereof
JP2013526199A (ja) 予測誤差から導出されるブロック形状を用いた予測符号化
WO2011129090A1 (ja) 符号化歪み除去方法、符号化方法、復号化方法、符号化歪み除去装置、符号化装置、および復号化装置
WO2012014461A1 (ja) 符号化方法および復号化方法
JP6399433B2 (ja) 画像符号化方法、画像復号方法、画像符号化装置及び画像復号装置
WO2011129085A1 (ja) 空間予測方法、画像復号方法、および画像符号化方法
WO2013014884A1 (ja) 動画像符号化方法、動画像符号化装置、動画像復号化方法、および動画像復号化装置
WO2012096195A1 (ja) 符号化方法、復号方法、符号化装置、復号装置および符号化復号装置
WO2012095930A1 (ja) 画像符号化方法、画像復号方法、画像符号化装置及び画像復号装置
WO2013046616A1 (ja) 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法

Legal Events

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