KR100954244B1 - 화상 복호화 방법 - Google Patents

화상 복호화 방법 Download PDF

Info

Publication number
KR100954244B1
KR100954244B1 KR1020037011695A KR20037011695A KR100954244B1 KR 100954244 B1 KR100954244 B1 KR 100954244B1 KR 1020037011695 A KR1020037011695 A KR 1020037011695A KR 20037011695 A KR20037011695 A KR 20037011695A KR 100954244 B1 KR100954244 B1 KR 100954244B1
Authority
KR
South Korea
Prior art keywords
coefficients
block
code
value
delete delete
Prior art date
Application number
KR1020037011695A
Other languages
English (en)
Other versions
KR20040099093A (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=29243326&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR100954244(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 파나소닉 주식회사 filed Critical 파나소닉 주식회사
Publication of KR20040099093A publication Critical patent/KR20040099093A/ko
Application granted granted Critical
Publication of KR100954244B1 publication Critical patent/KR100954244B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/004Predictors, e.g. intraframe, interframe 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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Abstract

생성된 계수로부터 블록마다 0 이외의 값을 갖는 계수의 개수를 검출하는 계수 개수 검출기(109)와, 검출된 계수의 개수를 기억하는 계수 개수 기억기(110)와, 부호화 대상 블록의 주변에 위치하는 부호화가 끝난 블록의 계수의 개수에 기초하여 가변길이 부호화용의 테이블을 선택하고, 선택한 상기 가변길이 부호화용의 테이블을 참조하여, 계수의 개수에 대해 가변길이 부호화를 행하는 계수 개수 부호화기(111)를 구비했다.

Description

화상 복호화 방법{IMAGE DECODING METHOD}
본 발명은 화상을 디지털 부호화하여 전송 또는 축적하기 위한 화상 부호화방법 및 화상 복호화 방법에 관한 것이다.
일반적으로 동화상의 부호화에서는, 화면을 어느 일정 사이즈의 블록으로 분할하여, 그 블록마다 화면 내 예측 및 화면 간 예측을 행한다. 그 결과 얻어진 예측 잔차 신호에 대해, 분할의 최소 단위의 블록(예를 들면 4×4 화소)마다, 예를 들면 이산 코사인 변환 등의 직교 변환을 적용하여, 그 결과 얻어진 공간 주파수 성분을 나타내는 계수를 런·레벨 부호화에 기초한 가변길이 부호화에 의해 부호화를 행한다.
상기 가변길이 부호화에서는, 직교 변환을 적용한 블록이 갖는 계수의 값(레벨), 및 0의 계수가 연속하는 개수(런)에 대해 가변길이 부호의 할당을 행한다. 이 때 상기 값과 가변길이 부호를 대응시키는 테이블을 VLC 테이블이라고 부른다. 종래의 방법에서는, 상기 VLC 테이블로서 화면 내 예측 부호화용 및 화면 간 예측 부호화용 각각에 1개씩의 테이블밖에 준비되어 있지 않았다(예를 들면, ISO/I EC14496-2 : 1999(E) Information technology--coding of audio-visual objects Part2 : Visual (1999-12-01) P.119 7.4.1 Variable length decoding 참조).
상기 종래의 기술에서 설명한 가변길이 부호화 방법에서는, 상기 VLC 테이블로서 화면 내 예측 부호화용 및 화면 간 예측 부호화용 각각에 1개씩의 테이블밖에 준비되어 있지 않았기 때문에, 부호화 대상의 화상의 성질에 따라 부호화 효율이 크게 다르다고 하는 문제점이 있었다.
상기 문제점을 해결하기 위해, 다수의 테이블을 준비하여 직교 변환을 적용한 블록에 포함되는 0 이외의 계수의 개수에 따라 상기 다수의 테이블을 바꿔 참조한다고 하는 방법을 생각할 수 있다. 이것을 실현하기 위해, 상기 0 이외의 계수의 개수에 대해서도 가변길이 부호화를 적용하여 부호화를 행할 필요가 있으나, 그 부호화 방법에 대해서는 아직 확립되어 있지 않다. 또한, 대응하는 복호화 방법에 대해서도 아직 확립되어 있지 않다.
본 발명은 상기의 문제점을 해결하는 것이며, 직교 변환을 적용한 블록 중에 포함되는 0 이외의 계수의 개수를, 대상 화상의 성질에 관계 없이 항상 높은 효율로 부호화를 행하는 것을 가능하게 하는 화상 부호화 방법 및 화상 복호화 방법을 제안하는 것을 목적으로 한다.
상기 과제를 해결하기 위해, 본 발명에 따른 화상 부호화 방법은, 화상을 블록마다 공간 주파수 성분을 나타내는 계수로 변환하여 부호화하는 화상 부호화 방법에 있어서, 부호화 대상 블록의 주변에 위치하는 부호화가 끝난 블록 중에 포함되는 0 이외의 계수의 개수에 기초하여, 상기 부호화 대상 블록 중에 포함되는 0 이외의 계수의 개수의 예측값을 산출하는 예측 단계와, 상기 예측 단계에 의해 산출된 상기 예측값에 기초하여 가변길이 부호화용의 테이블을 선택하는 테이블 선택 단계와, 상기 테이블 선택 단계에 의해 선택된 상기 가변길이 부호화용의 테이블을 참조하여, 상기 부호화 대상 블록 중에 포함되는 0 이외의 계수의 개수에 대해 가변길이 부호화를 행하는 가변길이 부호화 단계를 포함하는 것을 특징으로 한다.
이에 의해, 부호화 대상 블록 중에 포함되는 0 이외의 계수의 개수를 부호화할 때, 최적의 가변길이 부호화용의 테이블을 참조할 수 있기 때문에, 부호화 효율의 향상을 도모할 수 있다.
또, 상기 예측 단계에서는, 상기 부호화가 끝난 블록 중에 포함되는 0 이외의 계수의 개수의 평균값을 사용하여 상기 예측값을 산출하는 것을 특징으로 한다.
또, 상기 가변길이 부호화용의 테이블은, 적어도 1개 이상의 VLC 테이블을 갖고, 상기 테이블 선택 단계에서는, 상기 예측값에 기초하여 상기 VLC 테이블을 선택하고, 상기 가변길이 부호화 단계에서는, 상기 테이블 선택 단계에 의해 선택된 상기 VLC 테이블을 참조하여, 상기 부호화 대상 블록 중에 포함되는 0 이외의 계수의 개수를 가변길이 부호로 변환하는 것을 특징으로 한다.
또, 상기 가변길이 부호화용의 테이블은, 각각 적어도 1개 이상의 코드 테이블 및 VLC 테이블을 갖고, 상기 테이블 선택 단계에서는, 상기 예측값에 기초하여 상기 코드 테이블 및 상기 VLC 테이블을 선택하고, 상기 가변길이 부호화 단계에서는, 상기 테이블 선택 단계에 의해 선택된 상기 코드 테이블을 참조하여, 상기 부호화 대상 블록 중에 포함되는 0 이외의 계수의 개수를 코드 번호로 변환하고, 상 기 테이블 선택 단계에 의해 선택된 상기 VLC 테이블을 참조하여, 상기 코드 번호를 가변길이 부호로 변환하는 것을 특징으로 한다.
또, 상기 화상 부호화 방법은, 부호화되어 있지 않은 블록에 인접하는 부호화가 끝난 블록 중에 포함되는 0 이외의 계수의 개수를, 적어도 상기 부호화되어 있지 않은 블록이 부호화될 때까지 기억하는 기억 단계를 포함하는 것을 특징으로 한다.
또, 상기 예측 단계에서는, 상기 부호화 대상 블록의 상측 및 좌측에 위치하는 상기 부호화가 끝난 블록 중에 포함되는 0 이외의 계수의 개수에 기초하여, 상기 부호화 대상 블록 중에 포함되는 0 이외의 계수의 개수의 예측값을 산출하는 것을 특징으로 한다.
또, 상기 예측 단계에서는, 상기 부호화 대상 블록의 상측 및 좌측 위치에 부호화가 끝난 블록이 없을 때, 상기 예측값을 0으로 하는 것을 특징으로 한다.
또, 상기 예측 단계에서는, 상기 부호화 대상 블록의 상측 및 좌측의 위치에 상기 부호화가 끝난 블록이 있을 때, 상기 부호화 대상 블록의 상측 및 좌측의 위치에 있는 상기 부호화가 끝난 블록 중에 포함되는 0 이외의 계수의 개수의 평균값을 상기 예측값으로 하는 것을 특징으로 한다.
또, 상기 예측 단계에서는, 상기 부호화 대상 블록의 상측의 위치에 부호화가 끝난 블록이 없고, 상기 부호화 대상 블록의 좌측의 위치에 상기 부호화가 끝난 블록이 있을 때, 상기 부호화 대상 블록의 좌측의 위치에 있는 상기 부호화가 끝난 블록 중에 포함되는 0 이외의 계수의 개수를 사용하여 상기 예측값으로 하는 것을 특징으로 한다.
또, 상기 예측 단계에서는, 상기 부호화 대상 블록의 좌측의 위치에 부호화가 끝난 블록이 없고, 상기 부호화 대상 블록의 상측의 위치에 상기 부호화가 끝난 블록이 있을 때, 상기 부호화 대상 블록의 상측의 위치에 있는 상기 부호화가 끝난 블록 중에 포함되는 0 이외의 계수의 개수를 사용하여 상기 예측값으로 하는 것을 특징으로 한다.
또, 상기 예측 단계에서는, 상기 부호화 대상 블록의 상측 경계 및 좌측 경계가 상기 화상의 단위인 픽처의 경계 또는 상기 픽처를 다수의 영역으로 분할한 슬라이스의 경계일 때, 상기 예측값을 0으로 하는 것을 특징으로 한다.
또, 상기 예측 단계에서는, 상기 부호화 대상 블록의 상측 경계 및 좌측 경계가 상기 화상의 단위인 픽처의 경계 또는 상기 픽처를 다수의 영역으로 분할한 슬라이스의 경계가 아닐 때, 상기 부호화 대상 블록의 상측 및 좌측의 위치에 있는 상기 부호화가 끝난 블록 중에 포함되는 0 이외의 계수의 개수의 평균값을 상기 예측값으로 하는 것을 특징으로 한다.
또, 상기 예측 단계에서는, 상기 부호화 대상 블록의 상측 경계가 상기 화상의 단위인 픽처의 경계 또는 상기 픽처를 다수의 영역으로 분할한 슬라이스의 경계이고, 블록의 좌측 경계가 픽처의 경계 또는 슬라이스의 경계가 아닐 때, 상기 부호화 대상 블록의 좌측의 위치에 있는 상기 부호화가 끝난 블록 중에 포함되는 0 이외의 계수의 개수를 사용하여 상기 예측값으로 하는 것을 특징으로 한다.
또, 상기 예측 단계에서는, 상기 부호화 대상 블록의 좌측 경계가 상기 화상 의 단위인 픽처의 경계 또는 상기 픽처를 다수의 영역으로 분할한 슬라이스의 경계이고, 블록의 상측 경계가 픽처의 경계 또는 슬라이스의 경계가 아닐 때, 상기 부호화 대상 블록의 상측의 위치에 있는 상기 부호화가 끝난 블록 중에 포함되는 0 이외의 계수의 개수를 사용하여 상기 예측값으로 하는 것을 특징으로 한다.
또, 본 발명에 따른 화상 복호화 방법은, 블록마다 공간 주파수 성분을 나타내는 계수로 변환하여 부호화된 화상을 복호화하는 화상 복호화 방법에 있어서, 복호화 대상 블록의 주변에 위치하는 복호화가 끝난 블록 중에 포함되는 0 이외의 계수의 개수에 기초하여, 상기 복호화 대상 블록 중에 포함되는 0 이외의 계수의 개수의 예측값을 산출하는 예측 단계와, 상기 예측 단계에 의해 산출된 상기 예측값에 기초하여 가변길이 복호화용의 테이블을 선택하는 테이블 선택 단계와, 상기 테이블 선택 단계에 의해 선택된 상기 가변길이 복호화용의 테이블을 참조하여, 상기 복호화 대상 블록 중에 포함되는 0 이외의 계수의 개수가 부호화되어 있는 부호열에 대해 가변길이 복호화를 행하는 가변길이 복호화 단계를 포함하는 것을 특징으로 한다.
이에 의해, 블록 중에 포함되는 0 이외의 계수의 개수가, 최적의 가변길이 부호화용의 테이블을 참조하여 부호화되어 있는 부호열을 바르게 복호화할 수 있다.
또, 상기 예측 단계에서는, 상기 복호화가 끝난 블록 중에 포함되는 0 이외의 계수의 개수의 평균값을 사용하여 예측값을 산출하는 것을 특징으로 한다.
또, 상기 가변길이 복호화용의 테이블은, 적어도 1개 이상의 VLC 테이블을 갖고, 상기 테이블 선택 단계에서는, 상기 예측값에 기초하여 상기 VLC 테이블을 선택하고, 상기 가변길이 복호화 단계에서는, 상기 테이블 선택 단계에 의해 선택된 상기 VLC 테이블을 참조하여, 상기 복호화 대상 블록 중에 포함되는 0 이외의 계수의 개수의 가변길이 부호를 상기 계수의 개수로 변환하는 것을 특징으로 한다.
또, 상기 가변길이 복호화용의 테이블은, 각각 적어도 1개 이상의 코드 테이블 및 VLC 테이블을 갖고, 상기 테이블 선택 단계에서는, 상기 예측값에 기초하여 상기 코드 테이블 및 상기 VLC 테이블을 선택하고, 상기 가변길이 복호화 단계에서는, 상기 테이블 선택 단계에 의해 선택된 상기 VLC 테이블을 참조하여, 상기 복호화 대상 블록 중에 포함되는 0 이외의 계수의 개수의 가변길이 부호를 코드 번호로 변환하고, 상기 테이블 선택 단계에 의해 선택된 상기 코드 테이블을 참조하여, 상기 코드 번호를 상기 계수의 개수로 변환하는 것을 특징으로 한다.
또, 상기 화상 복호화 방법은, 복호화되어 있지 않은 블록에 인접하는 복호화가 끝난 블록 중에 포함되는 0 이외의 계수의 개수를, 적어도 상기 복호화 되어 있지 않은 블록이 복호화될 때까지 기억하는 기억 단계를 포함하는 것을 특징으로 한다.
또, 상기 예측 단계에서는, 상기 복호화 대상 블록의 상측 및 좌측에 위치하기 상기 복호화가 끝난 블록 중에 포함되는 0 이외의 계수의 개수에 기초하여, 상기 복호화 대상 블록 중에 포함되는 0 이외의 계수의 개수의 예측값을 산출하는 것을 특징으로 한다.
또, 상기 예측 단계에서는, 상기 복호화 대상 블록의 상측 및 좌측의 위치에 복호화가 끝난 블록이 없을 때, 상기 예측값을 0으로 하는 것을 특징으로 한다.
또, 상기 예측 단계에서는, 상기 복호화 대상 블록의 상측 및 좌측의 위치에 상기 복호화가 끝난 블록이 있을 때, 상기 복호화 대상 블록의 상측 및 좌측의 위치에 있는 상기 복호화가 끝난 블록 중에 포함되는 0 이외의 계수의 개수의 평균값을 상기 예측값으로 하는 것을 특징으로 한다.
또, 상기 예측 단계에서는, 상기 복호화 대상 블록의 상측의 위치에 복호화가 끝난 블록이 없고, 상기 복호화 대상 블록의 좌측의 위치에 상기 복호화가 끝난 블록이 있을 때, 상기 복호화 대상 블록의 좌측의 위치에 있는 상기 복호화가 끝난 블록 중에 포함되는 0 이외의 계수의 개수를 사용하여 상기 예측값으로 하는 것을 특징으로 한다.
또, 상기 예측 단계에서는, 상기 복호화 대상 블록의 좌측의 위치에 복호화가 끝난 블록이 없고, 상기 복호화 대상 블록의 상측의 위치에 상기 복호화가 끝난 블록이 있을 때, 상기 복호화 대상 블록의 상측의 위치에 있는 상기 복호화가 끝난 블록 중에 포함되는 0 이외의 계수의 개수를 사용하여 상기 예측값으로 하는 것을 특징으로 한다.
또, 상기 예측 단계에서는, 상기 복호화 대상 블록의 상측 경계 및 좌측 경계가 상기 화상의 단위인 픽처의 경계 또는 상기 픽처를 다수의 영역으로 분할한 슬라이스의 경계일 때, 상기 예측값을 0으로 하는 것을 특징으로 한다.
또, 상기 예측 단계에서는, 상기 복호화 대상 블록의 상측 경계 및 좌측 경계가 상기 화상의 단위인 픽처의 경계 또는 상기 픽처를 다수의 영역으로 분할한 슬라이스의 경계가 아닐 때, 상기 복호화 대상 블록의 상측 및 좌측의 위치에 있는 상기 복호화가 끝난 블록 중에 포함되는 0 이외의 계수의 개수의 평균값을 상기 예측값으로 하는 것을 특징으로 한다.
또, 상기 예측 단계에서는, 상기 복호화 대상 블록의 상측 경계가 상기 화상의 단위인 픽처의 경계 또는 상기 픽처를 다수의 영역으로 분할한 슬라이스의 경계이고, 블록의 좌측 경계가 픽처의 경계 또는 슬라이스의 경계가 아닐 때, 상기 복호화 대상 블록의 좌측의 위치에 있는 상기 복호화가 끝난 블록 중에 포함되는 0 이외의 계수의 개수를 사용하여 상기 예측값으로 하는 것을 특징으로 한다.
또, 상기 예측 단계에서는, 상기 복호화 대상 블록의 좌측 경계가 상기 화상의 단위인 픽처의 경계 또는 상기 픽처를 다수의 영역으로 분할한 슬라이스의 경계이고, 블록의 상측 경계가 픽처의 경계 또는 슬라이스의 경계가 아닐 때, 상기 복호화 대상 블록의 상측의 위치에 있는 상기 복호화가 끝난 블록 중에 포함되는 0 이외의 계수의 개수를 사용하여 상기 예측값으로 하는 것을 특징으로 한다.
또한, 본 발명은, 이러한 화상 부호화 방법 및 화상 복호화 방법으로서 실현할 수 있을 뿐만 아니라, 이러한 화상 부호화 방법 및 화상 복호화 방법이 포함하는 특징적인 단계를 수단으로서 구비하는 화상 부호화 장치 및 화상 복호화 장치로서 실현할 수도 있다. 또, 이들 단계를 컴퓨터에 실행시키는 프로그램으로서 실현하거나, 상기 화상 부호화 방법에 의해 생성된 비트 스트림으로서 실현하거나 할 수도 있다. 그리고, 이러한 프로그램 및 비트 스트림은, CD-ROM 등의 기록 매체나 인터넷 등의 전송 매체를 통해 배송할 수 있는 것은 말할 필요도 없다.
도 1은 본 발명에 따른 화상 부호화 방법을 사용한 화상 부호화 장치의 일 실시형태의 구성을 도시한 블록도,
도 2a는 각 픽처 내에서의 매크로 블록의 처리 순서의 개략을 도시한 모식도, 도 2b는 부호화 대상의 블록이 계수의 개수를 부호화하기 위해 참조하는 부호화가 끝난 블록이 속하는 매크로 블록을 도시한 모식도,
도 3a은 본 발명의 실시형태 1에서의 계수 개수 부호화기의 구성을 도시한 블록도, 도 3b는 계수 개수 부호화기의 변형예의 구성을 도시한 블록도,
도 4는 부호화 대상 블록과 참조하는 부호화가 끝난 블록의 위치 관계를 도시한 모식도이며, 도 4a는 3개의 주변 블록을 사용하는 경우, 도 4b는 2개의 주변 블록을 사용하는 경우,
도 5는 계수의 개수가 테이블을 참조함으로써 부호열로 변환되는 흐름의 예를 도시한 모식도,
도 6은 부호화 대상의 매크로 블록에 대한 참조 블록을 도시한 모식도이며, 도 6a는 3개의 주변 블록을 사용하는 경우, 도 6b는 2개의 주변 블록을 사용하는 경우,
도 7은 계수 개수 기억기가 계수의 개수를 기억하는 동작을 도시한 모식도이며, 도 7a는다음 매크로 블록으로 처리가 옮겨가는 경우, 도 7b는 그 다음 매크로 블록으로 처리가 옮겨가는 경우, 도 7c는 부호화 대상의 매크로 블록이 픽처의 우단에 위치하고, 다음 매크로 블록으로 처리가 옮겨가는 경우,
도 8은 본 발명의 실시형태 1에서의 계수 개수 부호화기의 변형예의 구성을 도시한 블록도이고, 도 8a는 코드 테이블을 고정하는 경우, 도 8b는 VLC 테이블을 고정하는 경우, 도 8c는 코드 테이블을 사용하지 않고 VLC 테이블만을 사용하는 경우,
도 9는 본 발명의 실시형태 1에서의 계수 개수 부호화기의 변형예의 구성을 도시한 블록도,
도 10a은 본 발명의 실시형태 2에서의 계수 개수 부호화기의 구성을 도시한 블록도, 도 10b는 계수 개수 부호화기의 변형예의 구성을 도시한 블록도,
도 11은 본 발명의 실시형태 2 및 실시형태 7에서의 계수의 개수의 통계를 취하는 대상이 되는 블록의 위치를 도시하기 위한 모식도,
도 12a는 본 발명의 실시형태 3에서의 계수 개수 부호화기의 구성을 도시한 블록도, 도 12b는 계수 개수 부호화기의 변형예의 구성을 도시한 블록도,
도 13a는 본 발명의 실시형태 4에서의 계수 개수 부호화기의 구성을 도시한 블록도, 도 13b는 계수 개수 부호화기의 변형예의 구성을 도시한 블록도,
도 14는 본 발명의 실시형태 4 및 실시형태 9에서의 테이블 바꿈의 평가값을 산출하는 방법을 도시하기 위한 블록도,
도 15는 본 발명의 실시형태 5에서의 화상 부호화 장치의 구성을 도시한 블록도,
도 16은 본 발명의 실시형태 5에서의 계수 개수 부호화기의 구성을 도시한 블록도,
도 17은 본 발명에 따른 화상 복호화 방법을 사용한 화상 복호화 장치의 일 실시형태의 구성을 도시한 블록도,
도 18a는 본 발명의 실시형태 6에서의 계수 개수 복호화기의 구성을 도시한 블록도, 도 18b는 계수 개수 복호화기의 변형예의 구성을 도시한 블록도,
도 19는 계수의 개수의 부호열이 테이블을 참조함으로써 계수의 개수로 변환되는 흐름의 예를 도시한 모식도,
도 20은 본 발명의 실시형태 6에서의 계수 개수 복호화기의 변형예의 구성을 도시한 블록도이며, 도 20a는 코드 테이블을 고정하는 경우, 도 20b는 VLC 테이블을 고정하는 경우, 도 20c는 코드 테이블을 사용하지 않고 VLC 테이블만을 사용하는 경우,
도 21은 본 발명의 실시형태 6에서의 계수 개수 복호화기의 변형예의 구성을 도시한 블록도,
도 22a는 본 발명의 실시형태 7에서의 계수 개수 복호화기의 구성을 도시한 처리의 동작을 설명하기 위한 블록도, 도 22b는 계수 개수 복호화기의 변형예의 구성을 도시한 블록도,
도 23a는 본 발명의 실시형태 8에서의 계수 개수 복호화기의 구성을 도시한 처리의 동작을 설명하기 위한 블록도, 도 23b는 계수 개수 복호화기의 변형예의 구성을 도시한 블록도,
도 24a는 본 발명의 실시형태 9에서의 계수 개수 복호화기의 구성을 도시한 처리의 동작을 설명하기 위한 블록도, 도 24b는 계수 개수 복호화기의 변형예의 구 성을 도시한 블록도,
도 25는 본 발명의 실시형태 10에서의 계수 개수 복호화기의 구성을 도시한 처리의 동작을 설명하기 위한 블록도,
도 26은 각 실시형태의 화상 부호화 방법 및 화상 복호화 방법을 컴퓨터 시스템에 의해 실현하기 위한 프로그램을 격납하기 위한 기록 매체에 대한 설명도이고, 도 26a는 기록 매체 본체인 플렉서블 디스크의 물리 포맷의 예를 도시한 설명도, 도 26b는 플렉서블 디스크의 정면에서 본 외관, 단면 구조, 및 플렉서블 디스크를 도시한 설명도, 도 26c는 플렉서블 디스크(FD)에 상기 프로그램의 기록 재생을 행하기 위한 구성을 도시한 설명도,
도 27은 컨텐츠 배송 서비스를 실현하는 컨텐츠 공급 시스템의 전체 구성을 도시한 블록도,
도 28은 휴대전화의 일례를 도시한 개략도,
도 29는 휴대전화의 내부 구성을 도시한 블록도,
도 30은 디지털 방송용 시스템의 전체 구성을 도시한 블록도이다.
이하, 본 발명의 실시형태에 대해 도면 및 수식 등을 사용하여 설명한다.
(실시형태 1)
도 1은 본 발명에 따른 화상 부호화 방법을 사용한 화상 부호화 장치의 일 실시형태의 구성을 도시한 블록도이다.
화상 부호화 장치는, 도 1에 도시한 바와 같이 프레임 메모리(101, 106), 직 교 변환기(102), 양자화기(103), 역양자화기(104), 역직교 변환기(105), 화면 간 예측기(107), 화면 내 예측기(108), 계수 개수 검출기(109), 계수 개수 기억기(110), 계수 개수 부호화기(111), 계수값 부호화기(112), 부호열 생성기(113), 스위치(114, 115), 차분 연산기(116), 및 가산 연산기(117)를 구비하고 있다.
프레임 메모리(101)는, 표시 시간 순으로 픽처 단위로 입력된 동화상을 격납한다. 화면 간 예측기(107)는, 부호화 장치 내에서 재구성한 화상 데이터를 참조 픽처로서 사용하여, 그 픽처 내의 탐색 영역에서 최적으로 예측되는 위치를 나타내는 움직임 벡터의 검출을 행하고, 이 움직임 벡터에 기초하여 예측 화상 데이터를 생성한다. 차분 연산기(116)는, 프레임 메모리(101)로부터 읽어 내어진 입력 화상 데이터와, 화면 간 예측기(107)로부터 입력된 예측 화상 데이터와의 차분을 연산하여, 예측 잔차 화상 데이터를 생성한다.
화면 내 예측기(108)는, 부호화 대상 픽처 내의 부호화가 끝난 영역의 화상 데이터를 사용하여 예측 화상 데이터를 생성하고, 입력 화상 데이터와의 차분을 연산함으로써 예측 잔차 화상 데이터를 생성한다.
직교 변환기(102)는, 입력된 예측 잔차 화상 데이터에 대해 직교 변환을 행한다. 양자화기(103)는, 직교 변환된 데이터에 대해 양자화를 행하여, 가변길이 부호화의 대상이 되는 공간 주파수 성분을 나타내는 계수를 생성한다. 역양자화기(104)는, 상기 처리에 의해 생성된 계수에 대해 역양자화를 행한다. 역직교 변환기(105)는, 역양자화된 데이터에 대해 역직교 변환을 행하여, 재구성 예 측 잔차 화상 데이터를 생성한다. 가산 연산기(117)는, 역직교 변환기(105)로부터 입력된 재구성 예측 잔차 화상 데이터와, 화면 간 예측기(107)로부터 입력된 예측 화상 데이터를 가산하여, 재구성 화상 데이터를 생성한다. 프레임 메모리(106)는, 생성된 재구성 화상 데이터를 격납한다.
계수 개수 검출기(109)는, 생성된 계수의 값을 조사하여 블록마다 0 이외의 값을 갖는 계수의 개수(이하, 단순히 계수의 개수라고 한다)를 검출한다. 계수 개수 기억기(110)는, 계수 개수 검출기(109)에서 검출된 계수의 개수를 기억한다. 계수 개수 부호화기(111)는, 계수 개수 기억기(110)에 기억되어 있는 이미 부호화된 블록의 계수의 개수의 값을 참조하여, 뒤에 설명하는 방법에 의해 계수의 개수의 부호화를 행한다. 계수값 부호화기(112)는, 계수 개수 검출기(109)에 의해 검출된 계수의 개수를 사용하여 가변길이 부호화에 필요한 VLC 테이블을 바꿔 참조함으로써 계수의 값 그 자체의 가변길이 부호화를 행한다. 부호열 생성기(113)는, 부호화된 계수의 개수 및 계수의 값에, 화면 간 예측기(107)로부터 입력된 움직임 벡터 등의 그 밖의 정보를 부가함으로써 부호열을 생성한다.
다음으로, 상기한 바와 같이 구성된 화상 부호화 장치의 동작에 대해 설명한다.
부호화 대상이 되는 동화상은, 표시 시간 순으로 픽처 단위로 프레임 메모리(101)에 입력되어, 여기서 부호화가 행해지는 순서로 재배열된다. 각각의 픽처는, 매크로 블록이라고 불리는, 예를 들면 수평 16×수직 16 화소의 블록으로 분할되어, 이 매크로 블록 단위로 이 이후의 처리가 행해진다. 도 2a는 각 픽처 내에서의 매크로 블록의 처리 순서의 개략을 도시한 모식도이고, 도 2b는 부호화 대상의 블록이 계수의 개수를 부호화하기 위해 참조하는 부호화가 끝난 블록이 속하는 매크로 블록을 도시한 모식도이다. 이 도 2b에서는, 매크로 블록 MB13이 부호화 대상 매크로 블록인 경우를 도시하고 있다.
각 픽처 내의 매크로 블록은, 도 2a에 도시하는 바와 같이 좌측 위의 매크로 블록으로부터 차례로 우측으로, 우단까지 오면 1단 밑으로 내려가 다시 좌측으로부터 차례로 우측으로와 같은 식으로 부호화가 행해진다. 대상으로 하는 매크로 블록을 화면 간 예측에 의해 부호화하는 경우는, 먼저 프레임 메모리(101)로부터 읽어 내어진 매크로 블록은, 화면 간 예측기(107)에 입력된다. 화면 간 예측기(107)는, 프레임 메모리(106)에 축적되어 있는 부호화가 끝난 픽처의 재구성 화상을 참조 픽처로서 사용하여, 매크로 블록을 더 분할한 블록(예를 들면 수평 4× 수직 4 화소)마다 움직임 벡터 검출을 행한다. 화면 간 예측기(107)는, 검출한 움직임 벡터에 의해 작성한 예측 화상 데이터를 차분 연산기(116)에 출력한다. 차분 연산기(116)는, 예측 화상 데이터와 대상의 매크로 블록의 입력 화상 데이터와의 차분을 취함으로써 예측 잔차 화상 데이터를 생성한다.
한편, 대상으로 하는 매크로 블록을 화면 내 예측에 의해 부호화하는 경우는, 먼저 프레임 메모리(101)로부터 읽어 내어진 매크로 블록은, 화면 내 예측기(108)에 입력된다. 화면 내 예측기(108)는, 주변의 블록의 정보를 사용하여 화면 내 예측을 행하여, 예측 잔차 화상 데이터를 생성한다.
이렇게 생성된 예측 잔차 화상 데이터는, 블록마다 직교 변환기(102) 및 양 자화기(103)에 의해 직교 변환 및 양자화가 행해져, 가변길이 부호화의 대상이 되는 계수로 변환된다. 이 계수는, 계수 개수 검출기(109), 계수값 부호화기(112) 및 역양자화기(104)에 입력된다.
계수 개수 검출기(109)는, 블록마다 0 이외의 값을 갖는 계수의 개수를 검출한다. 여기서 검출된 계수의 개수는 계수 개수 기억기(110)에 저장된다. 계수 개수 부호화기(111)는, 이미 부호화된 블록의 계수의 개수를 계수 개수 기억기(110)로부터 읽어들임으로써 그 값을 참조하여, 부호화 대상 블록의 계수의 개수의 부호화를 행한다. 또, 계수값 부호화기(112)는, 계수 개수 검출기(109)에 의해 검출된 계수의 개수를 사용하여 계수의 값 그 자체의 부호화를 행한다. 마지막으로, 부호열 생성기(113)는, 부호화된 계수의 개수 및 계수의 값을, 움직임 벡터 등의 그 밖의 정보와 함께 부호열에 추가함으로써 최종적인 부호열을 생성한다.
한편, 역양자화기(104)에 입력된 계수는, 역양자화기(104) 및 역직교 변환기( 105)에 의해, 역양자화 및 역직교 변환이 행해져, 재구성 예측 잔차 화상 데이터로 변환된다. 다음으로, 가산 연산기(117)는, 이 재구성 예측 잔차 화상 데이터와, 화면 간 예측기(107)로부터 입력된 예측 화상 데이터를 가산하고 재구성 화상 데이터를 생성하여, 프레임 메모리(106)에 격납한다.
이상 부호화의 흐름의 개요를 설명했는데, 계수 개수 부호화기(111)가 행하는 계수의 개수의 가변길이 부호화 처리에 대해, 도 3부터 도 9 및 표 1부터 표 7을 사용하여 그 상세를 설명한다.
도 3a는 계수 개수 부호화기(111)의 내부 구성을 자세히 도시한 블록도이다.
또한, 여기서는 계수의 개수의 가변길이 부호화를 행하기 위해, 코드 테이블과 VLC 테이블의 2개의 테이블을 사용하는 예를 나타내고 있다. 이 때 코드 테이블이란, 계수의 개수를 한 코드 번호로 변환하는 테이블이고, VLC 테이블이란 코드 테이블에 의해 얻어진 코드 번호를 가변길이 부호로 변환하는 테이블이다.
계수 개수 부호화기(111)는, 도 3a에 도시하는 바와 같이 예측값 산출기(201), 코드 테이블 기억기(202), 코드 테이블 선택기(203), VLC 테이블 선택기(204), VLC 테이블 기억기(205), 및 계수 개수 부호화기(206)를 구비하고 있다.
먼저, 도 1에 도시한 계수 개수 기억기(110)로부터 주변에 위치하는 부호화가 끝난 블록의 계수의 개수가 예측값 산출기(201)에 입력된다. 예측값 산출기(201)는, 이들 값의 평균값을 취함으로써 예측값을 결정한다. 또, 예측값의 결정 방법으로서 상기 평균값 대신에 최대값 또는 최소값 또는 중앙값 중 어느 하나를 사용하는 것도 가능하다.
도 4a는 현재 부호화의 대상으로 하고 있는 블록과 참조하는 부호화가 끝난 블록과의 위치 관계를 도시한 모식도이다. 여기서는 부호화의 대상으로 하고 있는 블록 X에 대해, 블록 B 및 C 및 D의 위치 관계에 있는 3개의 블록을 참조 블록으로 하고 있다. 이 때 블록 B 및 C 및 D의 위치 관계에 있는 3개의 블록 중에서, 부호화되어 있지 않은, 또는 픽처의 외부 또는, 픽처를 다수의 영역으로 분할한 슬라이스의 외부에 위치하는 블록이 발생한 경우는, 표 1과 같이 참조 블록의 변경이 이루어진다.
표 1
B C D 참조 블록
O O O B, C, D
O x O A, B, D
x x O D
O O x B, C
x x x 없음
표 1에서의 ○는 부호화가 끝난 블록, ×는 부호화가 행해져 있지 않은, 또는 픽처의 외부 또는 슬라이스의 외부에 위치하기 때문에 참조할 수 없는 블록을 의미하고 있다. 예를 들면 C만을 참조할 수 없는 경우는 A, B, D를 참조하는 것을 나타내고 있다. 또한, 표 1의 ○× 및 참조 블록의 항목은 이것 이외를 사용한 경우라도 동일하게 취급하는 것이 가능하다. 또, 참조 블록이 없다고 판단된 경우는 0 또는 그 밖의 임의의 값을 직접 예측값으로서 부여한다.
코드 테이블 선택기(203)는, 예측값 산출기(201)에 의해 산출된 예측값에 따라, 코드 테이블 기억기(202)가 갖는 다수의 코드 테이블 중에서 실제로 사용하는 코드 테이블을 선택한다.
표 2는 코드 테이블 기억기(202)에 의해 미리 준비되어 있는 계수의 개수와 코드 번호를 대응시키는 코드 테이블의 예이다.
표 2
계수값 개수 코드 테이블 1 코드 테이블 2 코드 테이블 3 코드 테이블 4
0 0 4 8 8
1 1 2 7 7
2 2 0 5 6
3 3 1 4 5
4 4 3 2 4
5 5 5 0 3
6 6 6 1 2
7 7 7 3 1
8 8 8 6 0
이 예에 의하면, 예를 들면 코드 테이블 1은 계수의 개수값과 같은 코드 번 호를 할당하고, 코드 테이블 2는 계수의 개수값의 2가 중심이 되도록 코드 번호를 할당하고 있다. 또한, 여기서는 4종류의 코드 테이블을 준비하고 있으나, 테이블의 종류의 수 및 테이블의 값은 이것 이외의 것을 사용한 경우도 동일하게 취급할 수 있다. 또, 표 3은 예측값에 기초한 코드 테이블의 선택 기준을 나타낸 것이다.
표 3
예측값 참조 테이블
0~2 코드 테이블 1
3~5 코드 테이블 2
6~8 코드 테이블 3
9~16 코드 테이블 4
이 예에 의하면, 코드 테이블 선택기(203)는, 예측값 산출기(201)에 의해 산출된 예측값이 2 이하인 경우는 코드 테이블 1을 참조하고, 3 이상 5이하인 경우는 코드 테이블 2를 참조하는 식으로 선택을 행하고 있다. 또한, 표 3에서의 예측값의 할당 방법 또는 참조 테이블의 항목은 이것 이외의 것을 사용한 경우도 동일하게 취급할 수 있다.
VLC 테이블 선택기(204)는, 예측값 산출기(201)에 의해 산출된 예측값에 따라, VLC 테이블 기억기(205)가 갖는 다수의 VLC 테이블 중에서 실제로 사용하는 VLC 테이블을 선택한다.
표 4는 VLC 테이블 기억기(205)에 의해 미리 준비되어 있는 코드 번호와 가변길이 부호를 대응시키는 VLC 테이블의 예이다.
표 4
코드 번호 VLC 테이블 1 VLC 테이블 2 VLC 테이블 3 VLC 테이블 4
0 1 1 10 100
1 01 010 11 101
2 001 011 0100 110
3 0001 00100 0101 111
4 00001 00101 0110 01000
5 000001 00110 0111 01001
6 0000001 00111 001000 01010
7 00000001 0001000 001001 01011
8 000000001 0001001 001010 01100
이 예에 의하면, VLC 테이블 1은 VLC 테이블 4와 비교하면 코드 번호가 큰 영역에서는 비트량이 많아지는 경향에 있지만, 코드 번호가 작은 영역에서는 비트량이 적어지도록 설계되어 있다. 코드 번호의 출현 확률이 값이 작은 영역에 집중하고 있는 경우는 VLC 테이블 1이, 값이 큰 영역에까지 분산하고 있는 경우는 VLC 테이블 4가, 효율적으로 가변길이 부호화를 행하는 것이 가능한 것을 나타내고 있다. 또한, 여기서는 4종류의 VLC 테이블을 준비하고 있으나, 테이블의 종류의 수 및 테이블의 값은 이것 이외의 것을 사용한 경우도 동일하게 취급할 수 있다. 또, 표 5는 예측값에 기초한 VLC 테이블의 선택 기준을 나타낸 것이다.
표 5
예측값 참조 테이블
0~1 VLC 테이블 1
2~3 VLC 테이블 2
4~6 VLC 테이블 3
7~16 VLC 테이블 4
이 예에 의하면, VLC 테이블 선택기(204)는, 예측값 산출기(201)에 의해 산출된 예측값이 1 이하인 경우는 VLC 테이블 1을 참조하고, 2 이상 3이하인 경우는 VLC 테이블 2를 참조하는 식으로 선택을 행하고 있다. 또한, 표 5에서의 예측값의 할당 방법 또는 참조 테이블의 항목은 이것 이외의 것을 사용한 경우도 동일하게 취급할 수 있다.
계수 개수 부호화기(206)는, 상기의 처리에 의해 선택된 코드 테이블 및 VLC 테이블을 참조하여, 입력된 부호화 대상 블록의 계수의 개수의 가변길이 부호화를 행한다. 계수 개수 부호화기(206)는, 먼저 코드 테이블을 사용하여 계수의 개수를 코드 번호로 변환하고, 이어서 VLC 테이블을 사용하여 코드 번호에 대응하는 가변길이 부호로 변환한다. 도 5는 예측값 산출기(201)에 의해 산출된 예측값이 "6"이고 부호화 대상 블록의 계수의 개수가 "4"였던 경우의 부호화의 예를 도시한 모식도이다. 예측값이 "6"이므로, 코드 테이블 선택기(203)에서 표 3 및 표 2에 의해 도 5에 도시한 코드 테이블 3이 선택되고, 또한 VLC 테이블 선택기(204)에서 표 5 및 표 4에 의해 도 5에 도시한 VLC 테이블 3이 선택된다. 계수 개수 부호화기(206)는, 입력된 계수의 개수 "4"를 코드 테이블 3에 의해 코드 번호 "2"로 변환하고, 또한 VLC 테이블 3에 의해 최종적인 부호열 "0100"을 생성한다.
다음으로, 계수 개수 기억기(110)가 행하는 계수의 개수의 기억 처리에 대해서, 그 상세를 설명한다. 도 6a는 예측값 산출기(201)에서의 부호화 대상의 매크로 블록에 대한 참조 블록을 도시한 모식도이다. 여기서, B1∼B16의 부호를 붙인 블록을 포함하는 굵은 테두리가 부호화 대상의 매크로 블록을 나타내고, 사선의 블록이 부호화 대상의 매크로 블록에 대한 참조 블록을 나타내고 있다. 또, 블록에 붙인 부호의 숫자는, 매크로 블록 내에서의 부호화 순서를 나타내고 있다.
계수 개수 기억기(110)는, 예를 들면 도 6a에 도시한 부호화 대상의 매크로 블록의 처리를 개시하는 시점에서, 계수 개수 검출기(109)에 의해 검출된 계수의 개수를, 적어도 부호화 대상의 매크로 블록에 대해 필요해지는 도 6(a)에 사선으로 나타낸 참조 블록에 대해 기억하고 있다. 즉, 계수 개수 기억기(110)는, 순차 처리되는 부호화 대상의 매크로 블록의 블록(B1, B2, B3, … B16)에 대해 검출된 계수의 개수를 기억한다. 예를 들면, 부호화 대상 블록이 블록(B6)인 경우, 계수 개수 기억기(110)는, 도 6a에 도시한 참조 블록에 더해 이미 처리된 블록(B1, B2, B3, B4, B5)의 각 계수의 개수를 기억하고 있다. 그리고, 계수 개수 기억기(110)는, 계수 개수 검출기(109)에 의해 블록(B6)의 계수의 개수가 검출되면, 이 블록(B6)의 계수의 개수를 기억한다. 이렇게 계수 개수 기억기(110)는, 순차 처리되는 부호화 대상의 매크로 블록의 블록(B1, B2, B3, …)에 대해 검출된 계수의 개수를 기억한다.
그리고, 예를 들면 부호화 대상의 매크로 블록이 도 2b에 도시한 매크로 블록(MB11)인 경우, 이 매크로 블록(MB11)의 처리가 종료하여, 다음 매크로 블록 (MB12)로 처리가 옮겨질 때, 계수 개수 기억부(110)는, 도 7a에 도시하는 바와 같이 매크로 블록(MB11)의 하측 열과 우측 열의 블록(사선의 블록)의 계수의 개수를 적어도 유지해 둔다. 다음으로, 매크로 블록(MB12)의 처리가 종료하고, 그 다음 매크로 블록(MB13)으로 처리가 옮겨질 때, 계수 개수 기억기(110)는, 마찬가지로 매크로 블록(MB12)의 하측 열과 우측열의 블록의 계수의 개수를 적어도 유지해 두는 동시에, 도 7b에 도시한 바와 같이 매크로 블록(MB11)의 하측 열의 블록(사선의 블록)의 계수의 개수를 적어도 유지해 둔다.
또, 예를 들면 부호화 대상의 매크로 블록이 도 2b에 도시한 매크로 블록(MB9)과 같이 픽처의 우단에 위치하는 경우, 이 매크로 블록(MB9)의 처리가 종 료하고, 다음 매크로 블록(MB10)으로 처리가 옮겨질 때, 계수 개수 기억기(110)는, 도 7b에 도시하는 바와 같이 매크로 블록(MB9)의 하측 열의 블록(사선의 블록)의 계수의 개수를 적어도 유지해 둔다.
또, 예를 들면 부호화 대상의 매크로 블록이 도 2b에 도시한 매크로 블록(MBm)과 같이 픽처의 하단에 위치하는 경우, 이 매크로 블록(MBm)의 처리가 종료하고, 다음 매크로 블록(MBn)으로 처리가 옮겨질 때, 계수 개수 기억기(110)는, 도 7c에 도시한 바와 같이 매크로 블록(MBm)의 우측 열의 블록(사선의 블록)의 계수의 개수를 적어도 유지해 둔다.
이렇게 계수 개수 기억기(110)는, 참조되는 블록에 대한 계수의 개수를 유지해 둔다. 또한, 상기 설명에서 유지해 둔다고 한 블록 이외의 계수의 개수의 정보는, 참조되지 않게 된 후이면 임의의 타이밍에서 삭제하는 것이 가능하다. 예를 들면, 다음 매크로 블록으로 처리가 옮겨질 때 삭제하는 것도, 또는 매크로 블록의 처리 도중에 삭제하는 것도 가능하다. 또, 참조되지 않게 된 블록에 대한 계수의 개수는 반드시 삭제하는 처리를 필요로 하지는 않는다. 예를 들면, 계수 개수 기억기(110)는, 참조되지 않게 된 블록에 대한 계수의 개수를 불필요하다고 인식하여, 필요에 따라 덮어쓰기 하도록 해도 상관없다.
또한, 상기 설명에서는, 계수 개수 기억기(110)에서 부호화가 끝난 블록의 계수를 기억해 둠으로써 참조하는 것을 가능하게 하고 있으나, 계수의 개수의 값 그 자체가 아니라, 예를 들면 공간 주파수 성분으로 변환된 블록의 계수의 값을 기억해 둠으로써, 필요에 따라 계수의 개수를 산출하는 것 같은 구성을 사용하는 것 도 가능하다.
이상과 같이 본 실시형태에서는, 부호화가 끝난 주변 블록의 계수의 개수로부터 예측값을 산출하여, 그 예측값에 따라 코드 테이블 및 VLC 테이블을 적응적으로 바꿔 참조함으로써, 계수의 출현 빈도가 한결같지 않은 픽처에 대해서도 효율적으로 계수의 개수의 부호화를 행하는 것이 가능하다.
또, 상기와 같이 예측값에 따라 코드 테이블을 바꿔 참조함으로써, 계수의 개수의 출현 확률이 가장 높은 위치의 변동에 대응할 수 있다. 한편, 예측값에 따라 VLC 테이블을 바꿔 참조함으로써, 계수의 개수의 출현 확률의 분산의 크기에 대응할 수 있다. 이에 의해, 효율적으로 계수의 개수의 부호화를 행하는 것이 가능하다.
또한, 예측값 산출기(201)에서 참조하는 블록으로서, 도 4a에 도시한 것 같은 3개의 주변 블록 대신에, 도 4b에 도시한 바와 같이 부호화 대상의 블록 X에 대해 블록(B 및 D)의 위치 관계에 있는 2개의 블록만을 사용하는 것도 가능하다. 이 때 블록(B 및 D)의 위치 관계에 있는 2개의 블록 중에서, 부호화되어 있지 않은, 또는 픽처의 외부, 또는 슬라이스의 외부에 위치하는 블록이 발생한 경우는, 표 6과 같이 참조 블록의 변경이 이루어진다.
표 6
B D 참조 블록
O O B, D
x O D
O x B
x x 없음
표 6에서의 ○은 표 1과 마찬가지로 부호화가 끝난 블록, ×는 부호화가 행 해져 있지 않은, 또는 픽처의 외부, 또는 슬라이스의 외부에 위치하기 때문에 참조할 수 없는 블록을 의미하고 있다. 또한, 표 6의 ○× 및 참조 블록의 항목은 이것 이외를 사용한 경우라도 동일하게 취급하는 것이 가능하다. 또한, 참조 블록이 없다고 판단된 경우는 0 또는 그 밖의 임의의 값을 직접 예측값으로서 부여한다. 이 경우, 계수 개수 기억기(110)는, 계수 개수 검출기(109)에 의해서 검출된 계수의 개수를, 적어도 부호화 대상의 매크로 블록에 대해 필요해지는 도 6(b)에 도시한 참조 블록에 대해 기억하고 있으면 된다.
또한, 예측값 산출기(201)에서 예측값을 산출하는 방법으로서, 평균값 또는 최대값 또는 최소값 또는 중앙값 중 어느 하나에 고정하는 것이 아니고, 예를 들면 그 중에서 최적의 것을 시퀀스 또는 GOP 또는 픽처 또는 슬라이스마다 선택하는 것도 가능하다. 이 때 선택된 산출 방법을 식별하기 위한 부호는 부호열의 시퀀스 또는 GOP 또는 픽처 또는 슬라이스의 헤더 영역에 추가된다. 또한, 슬라이스란 1개의 픽처를 다수의 영역으로 나눈 것을 나타내며, 예를 들면 매크로 블록 단위로 가로 방향으로 1열분의 영역 등이 이것에 해당된다.
또, 예측값 산출기(201)에서 예측값을 산출하는 방법으로서, 예를 들면 평균값 또는 최대값 또는 최소값 또는 중앙값 중 어느 하나를 부호화가 끝난 참조 블록의 계수의 개수의 평균값에 의해 선택하는 것도 가능하다. 표 7은 그 선택 기준을 나타낸 것이다.
표 7
평균값 예측값 산출 방법
0~4 최소값
5~8 평균값
9~16 최대값
이 예에 의하면, 예를 들면 평균값이 4 이하이면 다수의 참조 블록의 계수의 개수 중의 최소값을 예측값으로 하고, 평균값이 5 이상 8 이하이면 평균값을 예측값으로 하고 있다. 양자화 단계가 작은 경우 및 움직임이 복잡한 블록에서는, 계수의 개수가 큰 것이 출현할 확률이 높아지므로 최대값을 선택함으로써, 반대로 양자화 단계가 큰 경우 및 움직임이 단순한 블록에서는, 계수의 개수가 작은 것이 출현할 확률이 높아지므로 최소값을 선택함으로써 부호화 효율 향상의 효과를 기대할 수 있다. 또한, 표 7에서의 평균값의 할당 방법 또는 예측값 산출 방법의 항목은 이것 이외의 것을 사용한 경우도 동일하게 취급할 수 있다.
또한, 본 실시형태에서는, 계수 개수 부호화기(111)에서 계수의 개수의 값 그 자체에 대해 가변길이 부호화를 행하고 있으나, 도 3b에 도시하는 바와 같이 예측값 산출기(201)에 의한 예측값과 입력된 계수의 개수의 값과의 차분값을 차분 연산기(207)에 의해 산출하여, 얻어진 값에 대해 상기 실시형태와 동일한 처리에 의해 가변길이 부호화를 행하는 것도 가능하다. 이에 의해, 휘도 및 색 차의 변화가 화면 전체에 걸쳐 단조로운 경우, 주변 블록 간에서의 계수의 개수의 변화가 작아지는 화상에 대해 부호화 효율 향상의 효과를 기대할 수 있다.
또, 본 실시형태에서는, 계수 개수 부호화기(111)에서 코드 테이블 및 VLC 테이블의 양쪽을 주변 블록의 계수의 개수에 기초하는 예측값에 의해 바꿔 가변길이 부호화를 행하고 있으나, 이들의 어느 한쪽을 바꾸지 않고 고정하여 사용하는 것도 가능하다. 그 경우는 테이블 선택기를 사용하는 대신에 어느 1종류의 코드 테이블 또는 VLC 테이블을 갖는 기억기만을 사용하는 것에 의해 실현 가능하다. 도 8a는 코드 테이블만을 고정하여 계수의 개수의 가변길이 부호화를 행하는 경우의 계수 개수 부호화기(111)의 구성을 도시한 블록도이다. 또, 도 8b는 VLC 테이블만을 고정하여 계수의 개수의 가변길이 부호화를 행하는 경우의 계수 개수 부호화기(111)의 구성을 도시한 블록도이다.
코드 테이블만을 고정하는 경우, 도 8a에 도시한 바와 같이 계수 개수 부호화기(111)는, 도 3a에 도시한 코드 테이블 기억기(202) 및 코드 테이블 선택기(203)를 대신해, 코드 테이블 기억기(301)를 구비하고 있다. 이 코드 테이블 기억기(301)는, 1종류의 코드 테이블을 갖고 있다. 그리고, 계수 개수 부호화기(206)는, 먼저 코드 테이블 기억기(301)가 갖고 있는 코드 테이블을 사용하여 계수의 개수를 코드 번호로 변환하고, 이어서 VLC 테이블 선택기(204)에 의해 선택된 VLC 테이블을 사용하여 코드 번호를 가변길이 부호로 변환한다.
한편, VLC 테이블만을 고정하는 경우, 도 8b에 도시하는 바와 같이 계수 개수 부호화기(111)는, 도 3a에 도시한 VLC 테이블 기억기(225) 및 VLC 테이블 선택기(204)를 대신해 VLC 테이블 기억기(302)를 구비하고 있다. 이 VLC 테이블 기억기(302)는, 1종류의 VLC 테이블을 갖고 있다. 그리고, 계수 개수 부호화기(206)는, 먼저 코드 테이블 선택기(203)에 의해 선택된 코드 테이블을 사용하여 계수의 개수를 코드 번호로 변환하고, 이어서 VLC 테이블 기억기(302)가 갖고 있는 VLC 테이블을 사용하여 코드 번호를 가변길이 부호로 변환한다.
이렇게 코드 테이블 또는 VLC 테이블의 어느 한쪽을 바꾸지 않고 고정하여 사용함으로써, 부호화 효율의 효과는 다소 감소하지만, 테이블 바꿈을 위한 처리량을 줄이는 것이 가능해지고, 다수의 테이블을 기억해 두기 위한 메모리 용량을 줄이는 것이 가능해진다.
또, 계수 개수 부호화기(111)에서, 코드 테이블을 사용하지 않고 VLC 테이블만을 주변 블록의 계수의 개수에 기초하는 예측값에 의해 바꿔 가변길이 부호화를 행하는 것도 가능하다. 도 8c는 코드 테이블을 사용하지 않고 VLC 테이블만을 사용하여 계수의 개수의 가변길이 부호화를 행하는 경우의 계수 개수 부호화기(111)의 구성을 도시한 블록도이다. 이 경우, 도 8c에 도시하는 바와 같이 계수 개수 부호화기(111)는, 도 3a에 도시한 코드 테이블 기억기(202) 및 코드 테이블 선택기(203)는 구비하고 있지 않다. 계수 개수 부호화기(111)에서는, 예측값 산출기(201)에 의해 산출된 예측값에 기초하여 VLC 테이블 선택기(303)가, VLC 테이블 기억기(304)가 갖는 다수의 VLC 테이블 중에서 실제로 사용하는 VLC 테이블을 선택한다. 그리고, 계수 개수 부호화기(206)는, 상기한 바와 같이 코드 테이블을 사용하여 계수의 개수를 코드 번호로 변환하지 않고, 직접 VLC 테이블을 사용하여 계수의 개수를 가변길이 부호로 변환한다. 또한, 이 경우에 표 4에서 나타낸 VLC 테이블의 예에서는, 코드 번호로 되어 있는 부분이 계수의 개수값이 된다.
또, 계수 개수 부호화기(111)에서, 계수의 개수의 값 대신에, 예측값과의 차분값을 사용하여 가변길이 부호화를 행하는 경우에 대해서도 동일하게 취급하는 것이 가능하다. 도 9는 그 예로서 코드 테이블 및 VLC 테이블의 양쪽을 고정하여 예 측값과 계수의 개수와의 차분값에 대해 가변길이 부호화를 행하는 경우의 계수 개수 부호화기(111)의 구성을 도시한 블록도이다. 이 경우, 도 9에 도시하는 바와 같이, 계수 개수 부호화기(111)는, 도 3a에 도시한 코드 테이블 기억기(202) 및 코드 테이블 선택기(203)를 대신해 코드 테이블 기억기(301)를, VLC 테이블 기억기(205) 및 VLC 테이블 선택기(204)를 대신해 VLC 테이블 기억기(302)를 구비하고 있다. 이 코드 테이블 기억기(301)는 1종류의 코드 테이블을, VLC 테이블 기억기(302)는 1종류의 VLC 테이블을 갖고 있다. 그리고, 계수 개수 부호화기(206)는, 먼저 코드 테이블 기억기(301)가 갖고 있는 코드 테이블을 사용하여 계수의 개수와 예측값과의 차분값을 코드 번호로 변환하고, 이어서 VLC 테이블 기억기(302)가 갖고 있는 VLC 테이블을 사용하여 코드 번호를 가변길이 부호로 변환한다.
(실시형태 2)
본 실시형태에서의 화상 부호화 장치의 구성 및 부호화 처리의 개요는, 도 1에 도시한 계수 개수 부호화기(111)를 제외하고, 실시형태 1과 완전히 동등하다. 여기서는, 이 계수 개수 부호화기(111)에서 실시형태 2에서 이루어지는 계수의 개수의 가변길이 부호화 처리에 대해, 도 10부터 도 11을 사용하여 그 상세를 설명한다.
도 10a는 계수 개수 부호화기(111)의 내부 구성을 자세히 도시한 블록도이다.
도 10a에 도시하는 바와 같이, 계수 개수 부호화기(111)는, 도 3a에 도시한 코드 테이블 기억기(202) 및 코드 테이블 선택기(203)를 대신해, 코드 테이블 생성 기(701)를 구비하고 있다. 코드 테이블 생성기(701)에는, 도 1의 계수 개수 기억기(110)로부터 부호화가 끝난 블록의 계수의 개수가 입력된다. 코드 테이블 생성기(701)는, 계수의 개수의 값마다 그것과 같은 계수의 개수를 갖는 부호화가 끝난 블록이 몇 개 있는지를 카운트하여, 그 통계량에 기초하여 발생 빈도가 가장 높았던 계수의 개수로부터 차례로 코드 번호를 할당하여 코드 테이블을 작성한다. 도 11(a)는 통계의 대상으로 하는 부호화가 끝난 블록의 위치를 도시한 모식도이다. 여기서, P1 및 P3 및 P4는 화면 간 예측 부호화를 행하는 픽처이고, I2는 화면 내 예측 부호화를 행하는 픽처이다. 현재 부호화의 대상으로 하고 있는 블록이 P3에 속해 있다고 하면, 동일한 방식에 의해 부호화된 직전의 픽처인 P1의 모든 블록이 통계의 대상이 된다. 또한, 도 11b와 같이 현재 부호화의 대상으로 되어 있는 픽처 내에 있는 부호화가 끝난 블록도 포함시킨 1픽처분의 블록을 통계의 대상으로 하는 경우도 동일하게 취급하는 것이 가능하다. 또, 통계의 대상으로 할 수 있는 1픽처분의 부호화가 끝난 블록이 존재하지 않는 경우는, 초기 상태의 코드 테이블로서 0부터의 승순(昇順)으로 주어지는 테이블을 사용한다. 또한, 여기서는 1픽처분의 블록을 통계 대상으로 하고 있으나, 모수(母數)로서 그것 이외의 블록의 개수를 사용한 경우도 동일하게 취급하는 것이 가능하다. 또한, 도 11a에 도시한 것 같은 참조를 행하여 상기 코드 테이블의 생성을 행하는 경우는, 대상의 픽처의 부호화를 개시할 때 1번만 테이블의 생성을 행하기만 하면 된다.
한편, 예측값 산출기(201)에는, 주변에 위치하는 부호화가 끝난 블록의 계수의 개수가 입력된다. 예측값 산출기(201)는, 이들 값을 기초로 실시형태 1과 동일 하게, 평균값을 취함으로써 예측값을 결정한다. 또한, 예측값의 결정 방법으로서 상기평균값 대신에 최대값 또는 최소값 또는 중앙값 중 어느 하나를 사용하는 것도 가능하다. 이 때 참조하는 부호화가 끝난 블록은 실시형태 1과 동일하게, 도 4a에 도시된 부호화 대상의 블록 X에 대해 B 및 C 및 D의 위치 관계에 있는 3개의 블록을 사용하여 표 1에 따라 결정된다. 또한, 표 1에서의 ○× 및 참조 블록의 항목은 이것 이외를 사용한 경우라도 동일하게 취급하는 것이 가능하다. 또한, 참조 블록이 없다고 판단된 경우는, 0 또는 그 밖의 임의의 값을 직접 예측값으로서 부여한다.
예측값 산출기(201)에 의해 산출된 예측값은, VLC 테이블 선택기(204)에서만 사용된다. VLC 테이블 선택기(204)는, 이 예측값에 따라 VLC 테이블 기억기(205)에 실시형태 1과 동일하게, 표 4에 도시한 것 같은 미리 준비된 다수의 VLC 테이블 중에서 표 5에 도시한 것 같은 선택 기준에 따라서 계수의 개수의 부호화에 사용하는 VLC 테이블을 선택한다.
계수 개수 부호화기(206)는, 코드 테이블 생성기(701)에 의해 생성된 코드 테이블 및 VLC 테이블 선택기(204)에 의해 선택된 VLC 테이블을 참조하여, 실시형태 1과 동일하게 입력된 부호화 대상 블록의 계수의 개수의 가변길이 부호화를 행한다.
이상과 같이 본 실시형태에서는, 부호화가 끝난 블록의 계수의 개수의 통계를 취함으로써 코드 테이블을 작성하고, 또한 부호화가 끝난 블록의 계수의 개수로부터 산출된 예측값에 따라 VLC 테이블을 결정하여, 그 양쪽을 참조함으로써 계수 의 출현 빈도가 한결같지 않은 픽처에 대해서도 효율적으로 계수의 개수의 부호화를 행하는 것이 가능하다.
또한, 실시형태 1과 동일하게 예측값 산출기(201)에서 참조하는 부호화가 끝난 블록은, 도 4a와 같은 3개의 주변 블록 대신에, 도 4b와 같이 부호화 대상의 블록 X에 대해 B 및 D의 위치 관계에 있는 2개의 블록만을 사용하여 표 6에 따라서 결정하는 것도 가능하다. 또, 표 6에서의 ○× 및 참조 블록의 항목은 이것 이외를 사용한 경우라도 동일하게 취급하는 것이 가능하다. 또한, 참조 블록이 없다고 판단된 경우는 0 또는 그 밖의 임의의 값을 직접 예측값으로서 부여한다.
또, 실시형태 1과 동일하게 예측값 산출기(201)에서 예측값을 산출하는 방법으로서, 평균값 또는 최대값 또는 최소값 또는 중앙값 중 어느 하나에 고정하는 것이 아니라, 예를 들면 그 중에서 최적의 것을 시퀀스 또는 GOP 또는 픽처 또는 슬라이스마다 선택하는 것도 가능하다. 그 때 선택된 산출 방법을 식별하기 위한 부호는 부호열의 시퀀스 또는 GOP 또는 픽처 또는 슬라이스의 헤더 영역에 추가된다.
또, 실시형태 1과 동일하게 예측값 산출기(201)에서 예측값을 산출하는 방법으로서, 예를 들면 평균값 또는 최대값 또는 최소값 또는 중앙값 중 어느 하나를 부호화가 끝난 참조 블록의 계수의 개수의 평균값에 의해 선택하는 것도 가능하다. 표 7은 그 선택 기준을 나타낸 것인데, 여기서의 평균값의 할당 방법 또는 예측값 산출 방법의 항목은 이것 이외의 것을 사용한 경우도 동일하게 취급할 수 있다.
또, 본 실시형태에서는, 계수 개수 부호화기(111)에서 계수의 개수의 값 그 자체에 대해 가변길이 부호화를 행하고 있으나, 실시형태 1과 동일하게 도 10b에 도시하는 바와 같이 예측값 산출기(201)에 의한 예측값과 입력된 계수의 개수의 값과의 차분값을 차분 연산기(207)에 의해 산출하여, 얻어진 값에 대해 상기와 동일한 처리에 의해 가변길이 부호화를 행하는 것도 가능하다.
또, 본 실시형태에서는, 계수 개수 부호화기(111)에서 VLC 테이블을 주변 블록의 계수의 개수에 기초하는 예측값에 의해 바꿔 가변길이 부호화를 행하고 있으나, 실시형태 1과 동일하게 VLC 테이블을 바꾸지 않고 고정하여 사용하는 것도 가능하다. 그 경우는 VLC 테이블 선택기를 사용하는 대신에, 어느 1종류의 VLC 테이블을 가진 VLC 테이블 기억기만을 사용함으로써 실현 가능하다.
(실시형태 3)
본 실시형태에서의 화상 부호화 장치의 구성 및 부호화 처리의 개요는, 도 1에 도시한 계수 개수 부호화기(111)를 제외하고, 실시형태 1과 완전히 동등하다. 여기서는, 이 계수 개수 부호화기(111)에서 실시형태 3에서 이루어지는 계수의 개수의 가변길이 부호화 처리에 대해, 도 12 및 표 8부터 표 9를 사용하여 그 상세를 설명한다.
도 12a는 계수 개수 부호화기(111)의 내부 구성을 자세히 도시한 블록도이다.
도 12a에 도시하는 바와 같이 계수 개수 부호화기(111)는, 도 3a에 도시한 예측값 산출기(201)를 구비하고 있지 않다. 이에 의해, 코드 테이블 선택기(901) 및 VLC 테이블 선택기(902)는 실시형태 1과는 달리, 예측값을 사용하지 않고 직접 부호화가 끝난 블록의 계수의 개수를 사용함으로써 실제로 사용하는 테이블을 선택 한다. 이 때 참조하는 부호화가 끝난 블록은 도 4b에 도시한 바와 같이 부호화 대상의 블록 X에 대해 B(상측) 및 D(좌측)의 위치 관계에 있는 2개만을 사용한다. 단, 상측 및 좌측에 위치하는 블록이 부호화되어 있지 않은, 또는 픽처의 외부, 또는 슬라이스의 외부였던 경우는 계수의 개수로서 0 또는 그 밖의 임의의 값을 대용한다.
표 8은 코드 테이블 선택기(901)에서의 코드 테이블의 선택 방법을 도시한 것이다.
표 8
계수 개수 (상측)
0~5 6~16
계수 개수 (좌측) 0~5 코드 테이블 1 코드 테이블 2
6~16 코드 테이블 3 코드 테이블 4
코드 테이블 선택기(901)는, 표 8에 도시하는 바와 같이 부호화 대상 블록의 상측 및 좌측에 위치하는 블록의 계수의 개수 각각을 값에 따라 2개의 그룹으로 분류하고, 이들에 의해 형성되는 4개의 조합에 의해 테이블을 선택한다. 예를 들면 좌측 블록의 계수의 개수가 3, 또한 상측 블록의 계수의 개수가 8이었던 경우는, 코드 테이블(2)가 선택되게 된다. 또한, 표 8에서의 상측 및 좌측 블록의 계수의 개수를 분류하는 방법 및 코드 테이블의 할당 방법에 대해서는 이것 이외의 것을 사용한 경우도 동일하게 취급할 수 있다.
표 9는 VLC 테이블 선택기(902)에서의 VLC 테이블의 선택 방법을 나타낸 것이다.
표 9
계수 개수 (상측)
0~5 6~16
계수 개수 (좌측) 0~5 VLC 테이블 1 VLC 테이블 2
6~16 VLC 테이블 3 VLC 테이블 4
VLC 테이블 선택기(902)는, 코드 테이블 선택기(901)의 경우와 동일하게, 표 9에 도시한 것 같은 선택 방법을 사용하여 실제로 참조하는 VLC 테이블을 선택한다.
계수 개수 부호화기(206)는, 코드 테이블 선택기(901)에 의해 선택된 코드 테이블 및 VLC 테이블 선택기(902)에 의해 선택된 VLC 테이블을 참조하여, 실시형태 1과 동일하게 입력된 부호화 대상 블록의 계수의 개수의 가변길이 부호화를 행한다.
이상과 같이 본 실시형태에서는, 부호화 대상 블록의 상측 및 좌측에 위치하는 부호화가 끝난 블록의 계수의 개수를 값에 따라 N개의 그룹으로 분류하여, 그 때 형성되는 N×N의 조합에 따라 코드 테이블 및 VLC 테이블을 적응적으로 바꿔 참조함으로써, 계수의 출현 빈도가 한결같지 않은 픽처에 대해서도 효율적으로 계수의 개수의 부호화를 행하는 것이 가능하다.
또한, 본 실시형태에서는, 계수 개수 부호화기(111)에서 계수의 개수의 값 그 자체에 대해 가변길이 부호화를 행하고 있으나, 실시형태 1과 동일하게 도 12(b)에 도시하는 바와 같이 예측값 산출기(201)에 의한 예측값과 입력된 계수의 개수의 값과의 차분값을 차분 연산기(207)에 의해 산출하여, 얻어진 값에 대해 상기와 동일한 처리에 의해 가변길이 부호화를 행하는 것도 가능하다.
또, 본 실시형태에서는, 계수 개수 부호화기(111)에서 코드 테이블 및 VLC 테이블의 양쪽을 주변 블록의 계수의 개수에 따라 바꿔 가변길이 부호화를 행하고 있으나, 실시형태 1과 동일하게, 이들의 어느 한쪽을 바꾸지 않고 고정하여 사용하는 것도 가능하다. 그 경우는 테이블 선택기를 사용하는 대신에, 어느 1종류의 코드 테이블 또는 VLC 테이블을 가진 기억기만을 사용함으로써 실현 가능하다. 또, 실시형태 1과 동일하게, 코드 테이블을 사용하지 않고, VLC 테이블만을 주변 블록의 계수의 개수에 따라 바꿔 가변길이 부호화를 행하는 것도 가능하다.
(실시형태 4)
본 실시형태에서의 화상 부호화 장치의 구성 및 부호화 처리의 개요는, 도 1에 도시한 계수 개수 부호화기(111)를 제외하고, 실시형태 1과 완전히 동등하다. 여기서는, 이 계수 개수 부호화기(111)에서 실시형태 4에서 이루어지는 계수의 개수의 가변길이 부호화 처리에 대해, 도 13 및 도 14를 사용하여 그 상세를 설명한다.
도 13a는 계수 개수 부호화기(111)의 내부 구성을 자세히 도시한 블록도이다.
도 13a에 도시하는 바와 같이 계수 개수 부호화기(111)는, 도 3a에 도시한 예측값 산출기(201), 코드 테이블 선택기(203), 및 VLC 테이블 선택기(204)를 대신해 테이블 선택기(1001)를 구비하고 있다. 테이블 선택기(1001)는, 실시형태 1과는 달리 예측값을 사용하지 않고 직접 부호화가 끝난 블록의 계수의 개수를 사용하여, 코드 테이블 및 VLC 테이블의 양쪽을 동시에 평가함으로써 실제로 사용하는 테이블을 선택한다. 이 때 참조하는 부호화가 끝난 블록은 도 4a에 있는 것 같이, 부호화 대상의 블록 X에 대해 B 및 C 및 D의 위치 관계에 있는 3개의 블록을 사용한다. 단, 이들에 위치하는 블록이 부호화되어 있지 않은, 또는 픽처의 외부, 또는 슬라이스의 외부였던 경우는 계수의 개수로서 0 또는 그 밖의 임의의 값을 대용한다.
테이블 선택기(1001)는, 코드 테이블 및 VLC 테이블을 동시에 사용하여 참조 블록의 계수의 개수를 부호화한 결과 생성되는 부호열의 길이의 합을 산출하여, 그것을 평가값으로 한다. 도 14는 3개의 참조 블록의 계수의 개수에 대해 코드 테이블 및 VLC 테이블에 의해 부호화를 행하여, 얻어진 부호열의 길이의 합을 산출하여 그것을 평가값으로 하는 방법을 도시한 모식도이다. 그리고, 테이블 선택기(1001)는, 코드 테이블 기억기(202) 및 VLC 테이블 기억기(205)가 갖는 모든 코드 테이블 및 VLC 테이블의 조합에 대해 이 처리를 행하여, 얻어진 평가값이 가장 작아지는 코드 테이블 및 VLC 테이블의 조합을 선택한다.
계수 개수 부호화기(206)는, 테이블 선택기(1001)에 의해 선택된 코드 테이블 및 VLC 테이블을 참조하여, 실시형태 1과 동일하게 입력된 부호화 대상 블록의 계수의 개수의 가변길이 부호화를 행한다.
이상과 같이 본 실시형태에서는, 부호화가 끝난 주변 블록의 계수의 개수에 대해 코드 테이블 및 VLC 테이블을 사용하여 부호화를 행하고, 그 때의 부호열의 길이의 합을 평가값으로 하여, 이것이 최소가 되는 조합의 코드 테이블 및 VLC 테이블을 참조함으로써, 계수의 출현 빈도가 한결같지 않은 픽처에 대해서도 효율적으로 계수의 개수의 부호화를 행하는 것이 가능하다.
또한, 실시형태 1과 동일하게 테이블 선택기(1001)에서 참조하는 부호화가 끝난 블록은, 도 4a와 같은 3개의 주변 블록 대신에 도 4b처럼 부호화 대상의 블록 X에 대해 B 및 D의 위치 관계에 있는 2개만을 사용해도 동일하게 취급하는 것이 가능하다. 단, 이들에 위치하는 블록이 부호화되어 있지 않은, 또는 픽처의 외부였던 경우는 계수의 개수로서 0 또는 그 밖의 임의의 값을 대용한다.
또, 본 실시형태에서는, 계수 개수 부호화기(111)에서 계수의 개수의 값 그 자체에 대해 가변길이 부호화를 행하고 있으나, 실시형태 1과 동일하게 도 13b와 같이 예측값 산출기(201)에 의한 예측값과 입력된 계수의 개수의 값과의 차분값을 차분 연산기(207)에 의해 산출하여, 얻어진 값에 대해 상기 실시형태와 동일한 처리에 의해 가변길이 부호화를 행하는 것도 가능하다.
또, 본 실시형태에서는, 계수 개수 부호화기(111)에서 코드 테이블 및 VLC 테이블을 바꾸는 대상으로 하고 있으나, 그들의 한쪽을 바꾸지 않고 고정하여 사용하는 것도 가능하다.
(실시형태 5)
도 15는 본 발명에 따른 화상 부호화 방법을 사용한 화상 부호화 장치의 실시형태 5의 구성을 도시한 블록도이다. 부호화 처리의 개요는 실시형태 1과 완전히 동등하나, 상이점으로서 계수 개수 기억기(110)는 사용하지 않고, 계수 개수 부호화기(1201)에서 참조하는 정보로서 실시형태 1에서의 부호화가 끝난 블록의 계수의 개수 대신에 화면 간 예측 부호화의 경우는 화면 간 예측 모드를, 또한 화면 내 예측 부호화의 경우는 화면 내 예측 모드를 사용한다.
여기서는, 도 15에 도시한 계수 개수 부호화기(1201)에서 이루어지는 계수의 개수의 가변길이 부호화 처리에 대해, 도 16 및 표 10부터 표 11을 사용하여 그 상세를 설명한다.
도 16은 계수 개수 부호화기(1201)의 내부 구성을 자세히 도시한 블록도이다.
도 16에 도시하는 바와 같이, 계수 개수 부호화기(1201)는, 도 3a에 도시한 예측값 산출기(201)를 구비하고 있지 않다. 화면 간 예측 부호화의 경우는 화면 간 예측기(107)로부터 화면 간 예측 모드가, 또한 화면 내 예측 부호화의 경우는 화면 내 예측기(108)로부터 화면 내 예측 모드가 코드 테이블 선택기(1301) 및 VLC 테이블 선택기(1302)에 입력된다. 이에 의해, 코드 테이블 선택기(1301)는, 화면 간 예측 부호화의 경우는 화면 간 예측 모드에, 또 화면 내 예측 부호화의 경우는 화면 내 예측 모드에 기초하여 사용하는 테이블을 선택한다. 표 10은 코드 테이블 선택기(1301)에서의 코드 테이블의 선택 방법을 나타낸 것이다.
표 10
참조 테이블 화면간 예측 모드 화면내 예측 모드
코드 테이블 1 16 x 16, 16 x 8, 8 x 16 평면 예측
코드 테이블 2 8 x 8 사선 방향 예측
코드 테이블 3 8 x 4, 4 x 8 사선 방향 예측
코드 테이블 4 4 x 4 세로, 가로 방향 예측
예를 들면, 부호화 대상 픽처가 화면 간 예측에 의해 부호화되는 경우, 대상의 블록이 8×8의 사이즈의 예측이 선택되면, 그것에 따라 계수의 개수를 가변길이 부호화하기 위한 코드 테이블로서 2번의 테이블이 선택되게 된다. 또한, 표 10의 각 항목에 대해서는 이것 이외의 것을 사용한 경우도 동일하게 취급할 수 있다.
또, 표 11은 VLC 테이블 선택기(1302)에서의 VLC 테이블의 선택 방법을 나타낸 것이다.
표 11
참조 테이블 화면간 예측 모드 화면내 예측 모드
VLC 테이블 1 16 x 16, 16 x 8, 8 x 16 평면 예측
VLC 테이블 2 8 x 8 사선 방향 예측
VLC 테이블 3 8 x 4, 4 x 8 사선 방향 예측
VLC 테이블 4 4 x 4 세로, 가로 방향 예측
VLC 테이블 선택기(1302)는, 코드 테이블 선택기(1301)의 경우와 동일하게 표 11에 나타낸 것 같은 선택 방법을 사용하여 실제로 참조하는 VLC 테이블을 선택한다.
계수 개수 부호화기(206)는, 코드 테이블 선택기(1301)에 의해 선택된 코드 테이블 및 VLC 테이블 선택기(1302)에 의해 선택된 VLC 테이블을 참조하여, 실시형태 1과 동일하게 입력된 부호화 대상 블록의 계수의 개수의 가변길이 부호화를 행한다.
이상과 같이 본 실시형태에서는, 부호화의 대상으로 하고 있는 블록이 화면 간 예측 부호화인 경우는 화면 간 예측 모드에, 또 화면 내 예측 부호화인 경우는 화면 내 예측 모드에 따라 코드 테이블 및 VLC 테이블을 적응적으로 바꿔 참조함으로써, 계수의 출현 빈도가 한결같지 않은 픽처에 대해서도 효율적으로 계수의 개수의 부호화를 행하는 것을 가능하게 하는 부호화 방법을 나타냈다.
또한, 본 실시형태에서는, 계수 개수 부호화기(1201)에서 계수의 개수의 값 그 자체에 대해 가변길이 부호화를 행하고 있으나, 실시형태 1과 동일하게 부호화가 끝난 주변 블록의 계수의 개수를 사용하여 예측값을 결정하여, 이 예측값과 입 력된 계수의 개수의 값과의 차분값을 구하여, 얻어진 값에 대해 상기 실시형태와 동일한 처리에 의해 가변길이 부호화를 행하는 것도 가능하다.
또, 본 실시형태에서는, 계수 개수 부호화기(1201)에서 코드 테이블 및 VLC 테이블의 양쪽을 바꿔 가변길이 부호화를 행하고 있으나, 실시형태 1과 동일하게, 그들의 한쪽 또는 양쪽을 바꾸지 않고 고정하여 사용하는 것도 가능하다. 그 경우는 어느 1종류의 코드 테이블 또는 VLC 테이블을 가진 기억기만을 준비하는 것에 의해 실현 가능하다.
(실시형태 6)
도 17은 본 발명에 따른 화상 복호화 방법을 사용한 화상 복호화 장치의 일 실시 형태의 구성을 도시한 블록도이다. 여기서는, 실시형태 1의 화상 부호화 장치에서 생성된 부호열이 입력되는 것으로 한다.
화상 복호화 장치는, 부호열 해석기(1401), 계수 개수 기억기(1402), 계수 개수 복호화기(1403), 계수값 복호화기(1404), 역양자화기(1405), 역직교 변환기(1406), 프레임 메모리(1407), 화면 간 예측 복호기(1408), 화면 내 예측 복호기(1409), 및 스위치(1410)를 구비하고 있다.
부호열 해석기(1401)는, 입력된 부호열로부터 부호화 모드, 부호화시에 사용된 움직임 벡터, 계수의 개수(블록 단위의 0 이외의 값을 갖는 공간 주파수 성분을 나타내는 계수의 개수)의 부호열 및 계수의 값의 부호열 등의 각종 정보를 추출한다. 계수 개수 기억기(1402)는, 복호화가 끝난 블록의 계수의 개수를 기억한다. 계수 개수 복호화기(1403)는, 복호화가 끝난 블록의 계수의 개수를 참조함으로써 계수의 개수의 부호열을 복호화한다.
계수값 복호화기(1404)는, 계수 개수 복호화기(1403)에 의해 복호화된 계수의 개수를 사용하여 계수의 값의 부호열을 복호화한다. 역양자화기(1405)는, 복호화된 계수에 대해 역양자화를 행한다. 역직교 변환기(1406)는, 역양자화된 데이터에 대해 역직교 변환을 행하여, 예측 잔차 화상 데이터로 변환한다.
화면 간 예측 복호기(1408)는, 복호화 대상으로 하는 매크로 블록이 화면 간 예측에 의해 부호화되어 있는 경우, 부호열 해석기(1401)에 의해 추출된 움직임 벡터, 및 복호화가 끝난 픽처 등에 기초하여 움직임 보상 화상 데이터를 생성한다. 가산 연산기(1411)는, 역직교 변환기(1406)로부터 입력된 예측 잔차 화상 데이터와, 화면 간 예측 복호기(1408)로부터 입력된 움직임 보상 화상 데이터를 가산하여, 복호화 화상 데이터를 생성한다. 프레임 메모리(1407)는, 생성된 복호화 화상 데이터를 격납한다.
화면 내 예측 복호기(1409)는, 복호화 대상으로 하는 매크로 블록이 화면 내 예측에 의해 부호화되어 있는 경우, 주변의 복호화가 끝난 블록의 정보를 사용하여 화면 내 예측을 행하여, 복호화 화상 데이터를 생성한다.
다음으로, 상기한 바와 같이 구성된 화상 복호화 장치의 동작에 대해 설명한다.
먼저, 부호열은 부호열 해석기(1401)에 입력된다. 부호열 해석기(1401)는, 입력된 부호열로부터 움직임 벡터 및 계수의 개수의 부호열 및 계수의 값의 부호열 등의 각종 정보를 추출한다. 그리고, 부호열 해석기(1401)는, 움직임 벡터를 화면 간 예측 복호기(1408)에 출력하고, 계수의 개수의 부호열을 계수 개수 복호화기(1403)에 출력하고, 계수의 값의 부호열을 계수값 복호화기(1404)에 각각 출력한다.
계수의 개수의 부호열이 입력된 계수 개수 복호화기(1403)는, 이 부호열을 블록 단위의 0 이외의 값을 갖는 계수의 개수로서 복호화 한다. 이 때, 계수 개수 복호화기(1403)는, 계수 개수 기억기(1402)에 저장되어 있는 복호화가 끝난 블록의 계수의 개수를 참조함으로써 뒤에 설명하는 방법에 의해 계수의 개수의 복호화를 행한다. 다음으로, 계수값 복호화기(1404)는, 계수 개수 복호화기(1403)에 의해 얻어진 계수의 개수 정보를 사용하여 가변길이 복호화에 필요한 코드 테이블 및 VLC 테이블을 바꿔 참조함으로써 계수의 값 그 자체의 복호화를 행한다. 얻어진 계수는, 역양자화기(1405) 및 역직교 변환기(1406)에 의해 예측 잔차 화상 데이터로 변환된다.
복호화의 대상으로 하는 매크로 블록이 화면 간 예측에 의해 부호화되어 있는 경우는, 부호열 해석기(1401)에 의해 추출된 움직임 벡터가 화면 간 예측 복호기(1408)에 입력된다. 화면 간 예측 복호기(1408)는, 프레임 메모리(1407)에 축적되어 있는 복호화가 끝난 픽처의 복호화 화상을 참조 픽처로 함으로써 움직임 벡터 정보에 기초하여 움직임 보상 화상 데이터를 생성한다. 이렇게 하여 얻어진 움직임 보상 화상 데이터는, 가산 연산기(1411)에서 예측 잔차 화상 데이터와 가산됨으로써 복호화 화상 데이터로서 생성되어, 프레임 메모리(1407)에 격납된다.
한편, 복호화의 대상으로 하는 매크로 블록이 화면 내 예측에 의해 부호화되 어 있는 경우는, 화면 내 예측 복호기(1409)에서 주변의 복호화가 끝난 블록의 정보를 사용하여 화면 내 예측이 이루어져, 복호화 화상 데이터가 생성되어, 프레임 메모리(1407)에 격납된다. 그리고, 최종적인 출력 화상으로서 프레임 메모리(1407)로부터 표시 시간 순으로 출력된다.
이상 복호화의 흐름의 개요를 설명했는데, 계수 개수 복호화기(1403)가 행하는 계수의 개수의 복호화 처리에 대해, 도 18부터 도 21을 사용하여 그 상세를 설명한다.
도 18a는 계수 개수 복호화기(1403)의 내부 구성을 자세히 도시한 블록도이다.
또한, 여기서는 계수의 개수의 가변길이 복호화를 행하기 위해, VLC 테이블과 코드 테이블의 2개의 테이블을 사용하는 예를 나타내고 있다. 이 VLC 테이블이란 부호열 중의 가변길이 부호를 코드 번호로 변환하기 위해서 사용되는 테이블이고, 코드 테이블이란 VLC 테이블에 의해 얻어진 코드 번호를 계수의 개수로 변환하기 위해서 사용되는 테이블이다.
계수 개수 복호화기(1403)는, 도 18a에 도시하는 바와 같이 예측값 산출기(1501), 코드 테이블 기억기(1502), 코드 테이블 선택기(1503), VLC 테이블 선택기(1504), VLC 테이블 기억기(1505), 및 계수 개수 복호화기(1506)를 구비하고 있다.
먼저, 도 17에 도시한 계수 개수 기억기(1402)로부터 주변에 위치하는 복호화가 끝난 블록의 계수의 개수가 예측값 산출기(1501)에 입력된다. 예측값 산출기(1501)는, 이들의 값의 평균값을 취함으로써 예측값을 결정한다. 또한, 예측값의 결정 방법으로서 상기 평균값 대신에, 부호화시의 예측값 산출 방법에 맞춰 최대값 또는 최소값 또는 중앙값 중 어느 하나를 사용하는 것도 가능하다. 이 때 참조하는 복호화가 끝난 블록은 실시형태 1과 동일하게, 도 4a에 도시된 복호화 대상의 블록X에 대해 B 및 C 및 D의 위치 관계에 있는 3개의 블록을 사용하여 표 1에 따라서 결정된다. 표 1에 있어서의 ○는 복호화가 끝난 블록, ×는 복호화가 행해져 있지 않은, 또는 픽처의 외부, 또는 슬라이스의 외부에 위치하기 때문에 참조할 수 없는 블록을 의미하고 있다. 또한, 표 1에서의 ○× 및 참조 블록의 항목은 이것 이외를 사용한 경우라도 동일하게 취급하는 것이 가능하다. 또한, 참조 블록이 없다고 판단된 경우는 0 또는 그 밖의 임의의 값을 직접 예측값으로서 부여한다.
코드 테이블 선택기(1503)는, 예측값 산출기(1501)에 의해 산출된 예측값에 따라, 코드 테이블 기억기(1502)가 갖는 다수의 코드 테이블 중에서 실제로 사용하는 코드 테이블을 선택한다.
표 2는 코드 테이블 기억기(1502)에 의해 미리 준비되어 있는 계수의 개수와 코드 번호를 대응시키는 코드 테이블의 예이다. 또한, 여기서는 4종류의 코드 테이블을 준비하고 있는데, 테이블의 종류의 수 및 테이블의 값은 이것 이외의 것을 사용한 경우도 동일하게 취급할 수 있다. 단, 이 경우 부호화시에 사용한 테이블과 동일한 것을 사용한다. 또, 표 3은 예측값에 기초한 코드 테이블의 선택 기준을 나타낸 것이다. 또한, 표 3에서의 예측값의 할당 방법 또는 참조 테이블의 항 목은, 이것 이외의 것을 사용한 경우도 동일하게 취급할 수 있다. 단, 이 경우 부호화시에 사용한 테이블과 동일한 것을 사용한다.
VLC 테이블 선택기(1504)는, 예측값 산출기(1501)에 의해서 산출된 예측값에 따라, VLC 테이블 기억기(1505)가 갖는 다수의 VLC 테이블 중에서 실제로 사용하는 VLC 테이블을 선택한다.
표 4는 VLC 테이블 기억기(1505)에 의해 미리 준비되어 있는 계수의 개수와 코드 번호를 대응시키는 VLC 테이블의 예를 나타낸 것이다. 또한, 여기서는 4종류의 VLC 테이블을 준비하고 있는데, 테이블의 종류의 수 및 테이블의 값은 이것 이외의 것을 사용한 경우도 동일하게 취급할 수 있다. 단, 이 경우 부호화시에 사용한 테이블과 동일한 것을 사용한다. 또, 표 5는 예측값에 기초한 VLC 테이블의 선택 기준을 나타낸 것이다. 또한, 표 5에서의 예측값의 할당 방법 또는 참조 테이블의 항목은 이것 이외의 것을 사용한 경우도 동일하게 취급할 수 있다. 단, 이 경우 부호화시에 사용한 테이블과 동일한 것을 사용하는 것이 조건으로 되어 있다.
계수 개수 복호화기(1506)는, 상기 처리에 의해서 선택된 코드 테이블 및 VLC 테이블을 참조하여, 입력된 복호화 대상 블록의 계수의 개수의 부호열에 대해 가변길이 복호화를 행한다. 계수 개수 복호화기(1506)는, 먼저 VLC 테이블을 사용하여 계수의 개수의 부호열을 코드 번호로 변환하고, 이어서 코드 테이블을 사용하여 코드 번호에 대응하는 계수의 개수의 값으로 변환한다. 도 19는 예측값 산출기(1501)에 의해 산출된 예측값이 "6"이고, 복호화 대상 블록의 계수의 개수의 부호열이 "0100"이었던 경우의 복호화의 예를 도시한 모식도이다. 예측값이 "6"이 므로, 코드 테이블 선택기(1503)에서 표 3 및 표 2에 의해 도 19에 도시한 코드 테이블(3)이 선택되고, 또 VLC 테이블 선택기(1504)에서 표 5 및 표 4에 의해 도 19에 도시한 VLC 테이블(3)이 선택된다. 계수 개수 복호화기(1506)는, 입력된 부호열"0100"을 VLC 테이블(3)에 의해 코드 번호 "2"로 변환하고, 또한 코드 테이블(3)에 의해 최종적인 계수의 개수 "4"를 결정한다.
다음으로, 계수 개수 기억기(1402)가 행하는 계수의 개수의 기억 처리에 대해서, 그 상세를 설명한다. 또한, 실시형태 1의 설명에서 사용한 도 6(a)를 사용하여 설명하는데, 여기서는 B1∼B16의 부호를 붙인 블록을 포함하는 굵은 테두리가 복호화 대상의 매크로 블록을 나타내고, 사선의 블록이 복호화 대상의 매크로 블록에 대한 참조 블록을 나타내고 있다. 또, 블록에 붙인 부호의 숫자는, 매크로 블록 내에서의 복호화 순서를 나타내고 있다.
계수 개수 기억기(1402)는, 예를 들면 도 6(a)에 도시한 복호화 대상의 매크로 블록의 처리를 개시하는 시점에서, 계수 개수 복호화기(1403)에 의해 복호화된 계수의 개수를, 적어도 복호화 대상의 매크로 블록에 대해 필요해지는 도 6a에 사선으로 나타낸 참조 블록에 대해 기억하고 있다. 즉, 계수 개수 기억기(1402)는, 순차 처리되는 복호화 대상의 매크로 블록의 블록(B1, B2, B3, … B16)에 대해 검출된 계수의 개수를 기억한다. 예를 들면, 복호화 대상 블록이 블록(B6)인 경우, 계수 개수 기억기(1402)는, 도 6a에 도시한 참조 블록에 더해 이미 처리된 블록(B1, B2, B3, B4, B5)의 각 계수의 개수를 기억하고 있다. 그리고, 계수 개수 기억기(1402)는, 계수 개수 복호화기(1403)에 의해 블록(B6)의 계수의 개수가 복호 화되면, 이 블록(B6)의 계수의 개수를 기억한다. 이렇게 계수 개수 기억기(1402)는, 순차 처리되는 복호화 대상의 매크로 블록의 블록(B1, B2, B3, …)에 대해 복호화된 계수의 개수를 기억한다.
그리고, 예를 들면 복호화 대상의 매크로 블록이 도 2b에 도시한 매크로 블록(MB11)인 경우, 이 매크로 블록(MB11)의 처리가 종료하여, 다음 매크로 블록(MB12)로 처리가 옮겨질 때, 계수 개수 기억기(1402)는, 도 7a에 도시하는 바와 같이 매크로 블록(MB11)의 하측 열과 우측 열의 블록(사선의 블록)의 계수의 개수를 적어도 유지해 둔다. 다음으로, 매크로 블록(MB12)의 처리가 종료하여, 그 다음 매크로 블록(MB13)으로 처리가 옮겨질 때, 계수 개수 기억기(1402)는, 마찬가지로 매크로 블록(MB12)의 하측 열과 우측 열의 블록의 계수의 개수를 적어도 유지해 두는 동시에, 도 7b에 도시하는 바와 같이 매크로 블록(MB11)의 하측 열의 블록(사선의 블록)의 계수의 개수를 적어도 유지해 둔다.
또, 예를 들면 복호화 대상의 매크로 블록이 도 2b에 도시한 매크로 블록(MB9)와 같이 픽처의 우단에 위치하는 경우, 이 매크로 블록(MB9)의 처리가 종료하여, 다음 매크로 블록(MB10)으로 처리가 옮겨질 때, 계수 개수 기억기(1402)는, 도 7b에 도시하는 바와 같이 매크로 블록(MB9)의 하측 열의 블록(사선의 블록)의 계수의 개수를 적어도 유지해 둔다.
또, 예를 들면 복호화 대상의 매크로 블록이 도 2b에 도시한 매크로 블록(MBm)과 같이 픽처의 하단에 위치하는 경우, 이 매크로 블록(MBm)의 처리가 종료하여, 다음 매크로 블록(MBn)으로 처리가 옮겨질 때, 계수 개수 기억기(1402)는, 도 7c에 도시하는 바와 같이 매크로 블록(MBm)의 우측 열의 블록(사선의 블록)의 계수의 개수를 적어도 유지해 둔다.
이렇게 계수 개수 기억기(1402)는, 참조되는 블록에 대한 계수의 개수를 유지해 둔다. 또한, 상기 설명에서 유지해 둔다고 한 블록 이외의 계수의 개수의 정보는, 참조되지 않게 된 후이면 임의의 타이밍에서 삭제하는 것이 가능하다. 예를 들면, 다음 매크로 블록으로 처리가 옮겨질 때 삭제하는 것도, 또는 매크로 블록의 처리 도중에 삭제하는 것도 가능하다. 또, 참조되지 않게 된 블록에 대한 계수의 개수는 반드시 삭제하는 처리를 필요로 하지는 않는다. 예를 들면, 계수 개수 기억기(1402)는, 참조되지 않게 된 블록에 대한 계수의 개수를 불필요하다고 인식하여, 필요에 따라 덮어쓰기 하도록 해도 상관없다.
또한, 상기 설명에서는, 계수 개수 기억기(1402)에서 복호화가 끝난 블록의 계수를 기억해 둠으로써 참조하는 것을 가능하게 하고 있으나, 계수의 개수의 값 그 자체가 아니라, 예를 들면, 공간 주파수 성분을 나타내는 블록의 계수의 값을 기억하해 둠으로써, 필요에 따라 계수의 개수를 산출하는 식의 구성을 사용하는 것도 가능하다.
이상과 같이 본 실시형태에서는, 복호화가 끝난 주변 블록의 계수의 개수로부터 예측값을 산출하여, 그 예측값에 따라 코드 테이블 및 VLC 테이블을 적응적으로 바꿔 참조함으로써, 계수의 개수를 복호화할 수 있다.
또, 상기한 바와 같이 예측값에 따라 코드 테이블을 바꿔 참조함으로써, 계수의 개수의 출현 확률이 가장 높은 위치의 변동에 대응할 수 있다. 한편, 예측값 에 따라 VLC 테이블을 바꿔 참조함으로써, 계수의 개수의 출현 확률의 분산의 크기에 대응할 수 있다.
또한, 예측값 산출기(1501)에서 참조하는 블록으로서, 도 4a에 도시한 것 같은 3개의 주변 블록 대신에 도 4b에 도시한 것 같이 복호화 대상의 블록(X)에 대해 블록(B 및 D)의 위치 관계에 있는 2개의 블록만을 사용하는 것도 가능하다. 이 때 블록(B 및 D)의 위치 관계에 있는 2개의 블록 중에서, 복호화되어 있지 않은, 또는 픽처의 외부, 또는 슬라이스의 외부에 위치하는 블록이 발생한 경우는, 표 6과 같이 참조 블록의 변경이 이루어진다. 표 6에서의 ○는 표 1과 동일하게 복호화가 끝난 블록, X는 복호화가 행해져 있지 않은, 또는 픽처의 외부, 또는 슬라이스의 외부에 위치하기 때문에 참조할 수 없는 블록을 의미하고 있다. 또한, 표 6의 ○× 및 참조 블록의 항목은 이것 이외를 사용한 경우라도 동일하게 취급하는 것이 가능하다. 또한, 참조 블록이 없다고 판단된 경우는 0 또는 그 밖의 임의의 값을 직접 예측값으로서 부여한다. 단, 이 값은 부호화시에 사용한 것과 동일한 값을 사용한다. 이 경우, 계수 개수 기억기(1402)는, 계수 개수 복호화기(1403)에 의해 복호화된 계수의 개수를, 적어도 복호화 대상의 매크로 블록에 대해 필요해지는 도 6(b)에 도시한 참조 블록에 대해 기억하고 있으면 된다.
또한, 예측값 산출기(1501)에서 예측값을 산출하는 방법으로서, 평균값 또는 최대값 또는 최소값 또는 중앙값 중 어느 하나에 고정하는 것이 아니라, 예를 들면 그 중에서 최적의 것을 시퀀스 또는 GOP 또는 픽처 또는 슬라이스마다 선택하는 것도 가능하다. 이 경우, 부호열의 시퀀스 또는 픽처 또는 슬라이스의 헤더 영역에 기술되어 있는 산출 방법을 식별하기 위한 신호를 복호화함으로써 산출 방법을 결정한다. 또한, 슬라이스란 1개의 픽처를 다수의 영역으로 나눈 것을 나타내고, 예를 들면 매크로 블록 단위로 가로 방향으로 1열분의 영역 등이 이것에 해당한다.
또한, 예측값 산출기(1501)에서 예측값을 산출하는 방법으로서, 예를 들면 평균값 또는 최대값 또는 최소값 또는 중앙값 중 어느 하나를 복호화가 끝난 참조 블록의 계수의 개수의 평균값에 의해 선택하는 것도 가능하다. 표 7은 그 선택기준을 나타낸 것이다. 또한, 표 7에서의 평균값의 할당 방법 또는 예측값 산출 방법의 항목은 이것 이외의 것을 사용한 경우도 동일하게 취급할 수 있다. 단, 이 경우 부호화시에 사용한 것과 동일한 것을 사용한다.
또한, 본 실시형태에서는, 계수 개수 복호화기(1403)에서 계수의 개수의 값 그 자체에 대해 가변길이 부호화가 이루어지고 있는 부호열의 복호화 처리 방법을 나타낸 것인데, 예측값과 계수의 개수와의 차분값에 대해 가변길이 부호화가 이루어져 있는 부호열의 복호화를 행하는 것도 가능하다. 그 경우는 도 18b에 도시하는 바와 같이, 예측값 산출기(1501)에 의해 산출된 예측값과 계수 개수 복호화기 (1506)에 의해 복호화된 계수의 개수의 차분값을 가산 연산기(1507)에서 가산함으로써 계수의 개수를 결정한다.
또, 본 실시형태에서는, 계수 개수 복호화기(1403)에서 코드 테이블 및 VLC 테이블의 양쪽을 주변 블록의 계수의 개수에 기초하는 예측값에 의해 바꿔 가변길이 복호화를 행하고 있으나, 이들의 어느 한쪽을 바꾸지 않고 고정하여 사용하는 것도 가능하다. 그 경우는 어느 1종류의 코드 테이블 또는 VLC 테이블을 가진 기 억기만을 준비하는 것에 의해 실현 가능하다. 도 20a는 코드 테이블만을 고정하여 계수의 개수의 가변길이 복호화를 행하는 경우의 계수 개수 복호화기(1403)의 구성을 도시한 블록도이다. 또, 도 20b는 VLC 테이블만을 고정하여 계수의 개수의 가변길이 복호화를 행하는 경우의 계수 개수 복호화기(1403)의 구성을 도시한 블록도이다. 코드 테이블만을 고정하는 그 경우는, 도 20a에 도시하는 바와 같이 계수 개수 복호화기(1403)는, 도 18a에 도시한 코드 테이블 기억기(1502) 및 코드 테이블 선택기(1503)를 대신해 코드 테이블 기억기(1601)를 구비하고 있다. 이 코드 테이블 기억기(1601)는, 1종류의 코드 테이블을 갖고 있다. 그리고, 계수 개수 복호화기(1506)는, 먼저 VLC 테이블 선택기(1504)에 의해 선택된 VLC 테이블을 사용하여 가변길이 부호를 코드 번호로 변환하고, 이어서 코드 테이블 기억기(1601)가 갖고 있는 코드 테이블을 사용하여 코드 번호를 계수의 개수로 변환한다.
한편, VLC 테이블만을 고정하는 경우, 도 20(b)에 도시하는 바와 같이 계수 개수 복호화기(1403)는, 도 18a에 도시한 VLC 테이블 기억기(1505) 및 VLC 테이블 선택기(1504)를 대신해 VLC 테이블 기억기(1602)를 구비하고 있다. 이 VLC 테이블 기억기(1602)는, 1종류의 VLC 테이블을 갖고 있다. 그리고, 계수 개수 복호화기(1506)는, 먼저 VLC 테이블 기억기(1602)가 갖고 있는 VLC 테이블을 사용하여 가변길이 부호를 코드 번호로 변환하고, 이어서 코드 테이블 선택기(1503)에 의해 선택된 코드 테이블을 사용하여 코드 번호를 계수의 개수로 변환한다.
이렇게 코드 테이블 또는 VLC 테이블 중 어느 한쪽을 바꾸지 않고 고정하여 사용함으로써, 다수의 테이블을 기억해 두기 위한 메모리 용량을 줄이는 것이 가능 해진다.
또, 계수 개수 복호화기(1403)에서, 코드 테이블을 사용하지 않고 VLC 테이블만을 주변 블록의 계수의 개수에 기초하는 예측값에 의해 바꿔 가변길이 복호화를 행하는 것도 가능하다. 도 20c는 코드 테이블을 사용하지 않고 VLC 테이블만을 사용하여 계수의 개수의 가변길이 복호화를 행하는 경우의 계수 개수 복호화기(1403)의 구성을 도시한 블록도이다. 이 경우, 도 20c에 도시하는 바와 같이 계수 개수 복호화기(1403)는, 도 18a에 도시한 코드 테이블 기억기(1502) 및 코드 테이블 선택기(1503)는 구비하고 있지 않다. 계수 개수 복호화기(1403)에서는, 예측값 산출기(1501)에 의해 산출된 예측값에 기초하여 VLC 테이블 선택기(1603)가, VLC 테이블 기억기(1604)가 갖는 다수의 VLC 테이블 중에서 실제로 사용하는 VLC 테이블을 선택한다. 그리고, 계수 개수 복호화기(1506)는, 상기한 바와 같이 코드 테이블을 사용하여 계수의 개수를 코드 번호로 변환하지 않고, 직접 VLC 테이블을 사용하여 가변길이 부호를 계수의 개수로 변환한다. 또한, 이 경우에 표 4에 나타낸 VLC 테이블의 예에서는, 코드 번호로 되어 있는 부분이 계수의 개수값이 된다.
또, 계수 개수 복호화기(1403)에서, 계수의 개수의 값 대신에, 예측값과 계수의 개수와의 차분값에 대해 가변길이 부호화가 이루어져 있는 부호열의 복호화를 행하는 경우에 대해서도 동일하게 취급하는 것이 가능하다. 도 21은 그 예로서 코드 테이블 및 VLC 테이블의 양쪽을 고정하고, 예측값과 계수의 개수와의 차분값에 대해 가변길이 복호화를 행하는 경우의 계수 개수 복호화기(1403)의 구성을 도시한 블록도이다. 이 경우, 도 21에 도시하는 바와 같이, 계수 개수 복호화기(1403)는, 도 18(a)에 도시한 코드 테이블 기억기(1502) 및 코드 테이블 선택기(1503)를 대신해 코드 테이블 기억기(1601)를, VLC 테이블 기억기(1505) 및 VLC 테이블 선택기(1504)를 대신해 VLC 테이블 기억기(1602)를 구비하고 있다. 이 코드 테이블 기억기(1601)는 1종류의 코드 테이블을 갖고 있고, VLC 테이블 기억기(1602)는 1종류의 VLC 테이블을 갖고 있다. 그리고, 계수 개수 부호화기(1506)는, 먼저 VLC 테이블 기억기(1602)가 갖고 있는 VLC 테이블을 사용하여 가변길이 부호를 코드 번호로 변환하고, 이어서 코드 테이블 기억기(1601)가 갖고 있는 코드 테이블을 사용하여 코드 번호를 예측값과 계수의 개수와의 차분값으로 변환한다. 또한 가산 연산기(1507)에 의해 상기 차분값과 예측값을 가산함으로써, 계수의 개수를 산출한다.
(실시형태 7)
본 실시형태에서의 화상 복호화 장치의 구성 및 복호화 처리의 개요는, 도 17에 도시한 계수 개수 복호화기(1403)를 제외하고 실시형태 6과 완전히 동등하다. 여기서는, 이 계수 개수 복호화기(1403)에서 실시형태 7에서 이루어지는 계수의 개수의 가변길이 복호화 처리에 대해, 도 11 및 도 22를 사용하여 그 상세를 설명한다. 또한, 실시형태 2의 화상 부호화 장치에서 생성된 부호열이 입력되는 것으로 한다.
도 22a는 계수 개수 복호화기(1403)의 내부 구성을 상세하게 도시한 블록도이다.
도 22a에 도시하는 바와 같이 계수 개수 복호화기(1403)는, 도 18a에 도시한 코드 테이블 기억기(1502) 및 코드 테이블 선택기(1503)를 대신해 코드 테이블 생성기(1901)를 구비하고 있다. 코드 테이블 생성기(1901)에는, 도 17에 도시한 계수 개수 기억기(1402)로부터 복호화가 끝난 블록의 계수의 개수가 입력된다. 코드 테이블 생성기(1901)는, 계수의 개수의 값마다 이것과 같은 계수의 개수를 갖는 복호화가 끝난 블록이 몇 개 있는지를 카운트하여, 그 통계량에 기초하여 발생 빈도가 가장 높았던 계수의 개수로부터 차례로 코드 번호를 할당하여, 코드 테이블을 작성한다. 도 11a는 통계의 대상으로 하는 복호화가 끝난 블록의 위치를 나타내는 모식도이다. 여기서, P1 및 P3 및 P4는 화면 간 예측 복호화를 행하는 픽처이고, I2는 화면 내 예측 복호화를 행하는 픽처이다. 현재 복호화의 대상으로 하고 있는 블록이 P3에 속해 있다고 하면, 동일한 방식에 의해 복호화된 직전의 픽처인 P1의 모든 블록이 통계의 대상이 된다. 또한, 도 11b와 같이 현재 복호화의 대상이 되고 있는 픽처 내에 있는 복호화가 끝난 블록도 포함시킨 1 픽처분의 블록을 통계의 대상으로 하는 경우도 동일하게 취급하는 것이 가능하다. 또, 통계의 대상으로 할 수 있는 1 픽처분의 복호화가 끝난 블록이 존재하지 않는 경우는, 초기 상태의 코드 테이블로서 0부터의 승순으로 주어지는 테이블을 사용한다. 또한, 여기서는 1 픽처분의 블록을 통계 대상으로 하고 있으나, 모수로서 이것 이외의 블록의 개수를 사용한 경우도 동일하게 취급하는 것이 가능하다. 단, 이 경우 부호화시에 사용한 개수와 동일한 것을 사용한다. 또한, 도 11a에 도시한 것 같은 참조를 행하여 상기 코드 테이블의 생성을 행하는 경우는, 대상의 픽처의 복호화를 개시할 때 1번만 테이블의 생성을 행하기만 하면 된다.
한편, 예측값 산출기(1501)에는, 주변에 위치하는 복호화가 끝난 블록의 계수의 개수가 입력된다. 예측값 산출기(1501)는, 이들의 값을 기초로 실시형태 6과 동일하게 평균값을 취함으로써 예측값을 결정한다. 또한, 예측값의 결정 방법으로서 상기 평균값 대신에 최대값 또는 최소값 또는 중앙값 중 어느 하나를 사용하는 것도 가능하다. 이 때 참조하는 복호화가 끝난 블록은 실시형태 6과 동일하게 도 4(a)에 도시된 복호화 대상의 블록 X에 대해 B 및 C 및 D의 위치 관계에 있는 3개의 블록을 사용하여 표 1에 따라서 결정된다. 또한, 표 1에서의 ○× 및 참조 블록의 항목은 이것 이외를 사용한 경우라도 동일하게 취급하는 것이 가능하다. 또한, 참조 블록이 없다고 판단된 경우는 0 또는 그 밖의 임의의 값을 직접 예측값으로서 부여한다. 단, 이 값은 부호화시에 사용한 것과 동일한 값을 사용한다.
예측값 산출기(1501)에 의해 산출된 예측값은, VLC 테이블 선택기(1504)에서만 사용된다. VLC 테이블 선택기(1504)는, 이 예측값에 따라 VLC 테이블 기억기(1505)에 실시형태 6과 동일하게 표 4에 도시한 것 같은 미리 준비된 다수의 VLC 테이블 중에서 표 5에 도시한 것 같은 선택 기준에 따라 계수의 개수의 복호화에 사용하는 VLC 테이블을 선택한다.
계수 개수 복호화기(1506)는, 코드 테이블 생성기(1901)에 의해 생성된 코드 테이블 및 VLC 테이블 선택기(1504)에 의해 선택된 VLC 테이블을 참조하여, 실시형태 6과 동일하게 입력된 계수의 개수의 부호열에 대해 가변길이 복호화를 행한다.
이상과 같이 본 실시형태에서는, 복호화가 끝난 블록의 계수의 개수의 통계 를 취함으로써 코드 테이블을 작성하고, 또한 복호화가 끝난 블록의 계수의 개수로부터 산출된 예측값에 따라 VLC 테이블을 결정하여, 그 양쪽을 참조함으로써 계수의 개수의 복호화를 행할 수 있다.
또한, 실시형태 6과 동일하게 예측값 산출기(1501)에서 참조하는 복호화가 끝난 블록은, 도 4a와 같은 3개의 주변 블록 대신에 도 4b와 같이 복호화 대상의 블록 X에 대해 B 및 D의 위치 관계에 있는 2개의 블록만을 사용하여 표 6에 따라서 결정하는 것도 가능하다. 또, 표 6에서의 ○× 및 참조 블록의 항목은 이것 이외를 사용한 경우라도 동일하게 취급하는 것이 가능하다. 또한, 참조 블록이 없다고 판단된 경우는 0 또는 그 밖의 임의의 값을 직접 예측값으로서 부여한다. 단, 이 값은 부호화시에 사용한 것과 동일한 값을 사용한다.
또, 실시형태 6과 동일하게 예측값 산출기(1501)에서 예측값을 산출하는 방법으로서, 평균값 또는 최대값 또는 최소값 또는 중앙값 중 어느 하나에 고정하는 것은 아니고, 예를 들면 그 중에서 최적의 것을 시퀀스 또는 GOP 또는 픽처 또는 슬라이스마다 선택하는 것도 가능하다. 이 경우, 부호열의 시퀀스 또는 GOP 또는 픽처 또는 슬라이스의 헤더 영역에 기술되어 있는 산출 방법을 식별하기 위한 신호를 복호화함으로써 산출 방법을 결정한다.
또, 실시형태 6과 동일하게 예측값 산출기(1501)에서 예측값을 산출하는 방법으로서, 예를 들면 평균값 또는 최대값 또는 최소값 또는 중앙값 중 어느 하나를 복호화가 끝난 참조 블록의 계수의 개수의 평균값에 의해 선택하는 것도 가능하다. 표 7은 그 선택 기준을 나타낸 것인데, 여기서의 평균값의 할당 방법 또는 예측값 산출 방법의 항목은 이것 이외의 것을 사용한 경우도 동일하게 취급할 수 있다. 단, 이 경우 부호화시에 사용한 것과 동일한 것을 사용한다.
또, 본 실시형태에서는, 계수의 개수의 값 그 자체에 대해 가변길이 부호화가 이루어져 있는 부호열의 복호화 처리 방법을 나타낸 것이나, 예측값과 계수의 개수와의 차분값에 대해 가변길이 부호화가 이루어져 있는 부호열의 복호화를 행하는 것도 가능하다. 그 경우는 도 22b에 도시하는 바와 같이, 예측값 산출기(1501)에 의한 예측값과 계수 개수 복호화기(1506)에 의해 복호화된 계수의 개수의 차분값을 가산 연산기(1507)에서 가산함으로써 계수의 개수를 결정한다.
또, 상기 실시형태에서는, 계수 개수 복호화기(1403)에서 VLC 테이블을 주변 블록의 계수의 개수에 기초하는 예측값에 의해 바꿔 가변길이 복호화를 행하고 있으나, 실시형태 6과 동일하게 VLC 테이블을 바꾸지 않고 고정하여 사용하는 것도 가능하다. 그 경우는 VLC 테이블 선택기를 사용하는 대신 어느 1종류의 VLC 테이블을 가진 VLC 테이블 기억기만을 사용함으로써 실현 가능하다.
(실시형태 8)
본 실시형태에서의 화상 복호화 장치의 구성 및 복호화 처리의 개요는, 도 17에 도시한 계수 개수 복호화기(1403)를 제외하고 실시형태 6과 완전히 동등하다. 여기서는, 이 계수 개수 복호화기(1403)에서 실시형태 8에서 이루어지는 계수의 개수의 가변길이 복호화 처리에 대해, 도 23 및 표 8부터 표 9를 사용하여 그 상세를 설명한다. 또한, 실시형태 3의 화상 부호화 장치에서 생성된 부호열이 입력되는 것으로 한다.
도 23a는 계수 개수 복호화기(1403)의 내부 구성을 상세하게 도시한 블록도이다.
도 23a에 도시하는 바와 같이, 계수 개수 복호화기(1403)는, 도 18a에 도시한 예측값 산출기(1501)를 구비하고 있지 않다. 이에 의해, 코드 테이블 선택기(2001) 및 VLC 테이블 선택기(2002)는, 실시형태 6과는 달리 예측값을 사용하지 않고 직접 복호화가 끝난 블록의 계수의 개수를 사용함으로써 실제로 사용하는 테이블을 선택한다. 이 때 참조하는 복호화가 끝난 블록은 도 4b에 도시한 바와 같이 복호화 대상의 블록 X에 대해 B(상측) 및 D(좌측)의 위치 관계에 있는 2개만을 사용한다. 단, 상측 및 좌측에 위치하는 블록이 복호화되어 있지 않은, 또는 픽처의 외부, 또는 슬라이스의 외부였던 경우는 계수의 개수로서 0 또는 그 밖의 임의의 값을 대용한다. 단, 이 값은 부호화시에 사용한 것과 동일한 값을 사용한다.
표 8은 코드 테이블 선택기(2001)에서의 코드 테이블의 선택 방법을 도시한 것이다. 코드 테이블 선택기(2001)는, 표 8에 도시한 것 같이 복호화 대상 블록의 상측 및 좌측에 위치하는 블록의 계수의 개수 각각을 값에 따라 2개의 그룹으로 분류하고, 이것에 의해 형성되는 4개의 조합에 의해 코드 테이블을 선택한다. 또한, 표 8에서의 상측 및 좌측 블록의 계수의 개수를 분류하는 방법 및 코드 테이블의 할당 방법에 관해서는 이것 이외의 것을 사용한 경우도 동일하게 취급할 수 있다. 단, 이 경우 부호화시에 사용한 것과 동일한 것을 사용한다. 또, VLC 테이블 선택기(2002)는, 코드 테이블 선택기(2001)의 경우와 동일하게 표 9에 도시한 것 같은 선택 방법을 사용하여 실제로 참조하는 VLC 테이블을 선택한다.
계수 개수 복호화기(1506)는, 코드 테이블 선택기(2001)에 의해 선택된 코드 테이블 및 VLC 테이블 선택기(2002)에 의해 선택된 VLC 테이블을 참조하여, 실시 형태 6과 동일하게 입력된 복호화 대상 블록의 계수의 개수의 가변길이 복호화를 행한다.
이상과 같이 본 실시형태에서는, 복호화 대상 블록의 상측 및 좌측에 위치하는 복호화가 끝난 블록의 계수의 개수를 값에 따라 N개의 그룹으로 분류하고, 그 때 형성되는 N×N의 조합에 따라 코드 테이블 및 VLC 테이블을 적응적으로 바꿔 참조함으로써, 계수의 개수의 복호화를 행할 수 있다.
또한, 본 실시형태에서는, 계수의 개수의 값 그 자체에 대해 가변길이 부호화가 이루어져 있는 부호열의 복호화 처리 방법을 나타낸 것이나, 예측값과 계수의 개수와의 차분값에 대해 가변길이 부호화가 이루어져 있는 부호열의 복호화를 행하는 것도 가능하다. 그 경우는 도 23b에 도시하는 바와 같이 예측값 산출기(1501)에 의한 예측값과 계수 개수 복호화기(1506)에 의해 복호화된 계수의 개수의 차분값을 가산 연산기(1507)에서 가산함으로써 계수의 개수를 결정한다.
또, 상기 실시형태에서는, 계수 개수 복호화기(1403)에서 코드 테이블 및 VLC 테이블의 양쪽을 주변 블록의 계수의 개수에 의해 바꿔 가변길이 복호화를 행하고 있으나, 실시형태 6과 동일하게, 이들의 어느 한쪽을 바꾸지 않고 고정하여 사용하는 것도 가능하다. 그 경우는 테이블 선택기를 사용하는 대신에, 어느 1종류의 코드 테이블, 또는 VLC 테이블을 가진 기억기만을 사용함으로써 실현 가능하 다. 또한, 실시형태 6과 동일하게, 코드 테이블을 사용하지 않고 VLC 테이블만을 주변 블록의 계수의 개수에 따라 바꿔 가변길이 복호화를 행하는 것도 가능하다.
(실시형태 9)
본 실시형태에서의 화상 복호화 장치의 구성 및 복호화 처리의 개요는, 도 17에 도시한 계수 개수 복호화기(1403)를 제외하고, 실시형태 6과 완전히 동등하다. 여기서는, 이 계수 개수 복호화기(1403)에서 실시형태 9에서 이루어지는 계수의 개수의 가변길이 복호화 처리에 대해, 도 24 및 도 14를 사용하여 그 상세를 설명한다. 또한, 실시형태 4의 화상 부호화 장치에서 생성된 부호열이 입력되는 것으로 한다.
도 24a는 계수 개수 복호화기(1403)의 내부 구성을 자세히 도시한 블록도이다.
도 24a에 도시하는 바와 같이, 계수 개수 복호화기(1403)는, 도 18a에 도시한 예측값 산출기(1501), 코드 테이블 선택기(1503), 및 VLC 테이블 선택기(1504)를 대신해 테이블 선택기(2101)를 구비하고 있다. 테이블 선택기(2101)는, 실시형태 6과는 달리 예측값을 사용하지 않고 직접 복호화가 끝난 블록의 계수의 개수를 사용하여, 코드 테이블 및 VLC 테이블의 양쪽을 동시에 평가함으로써 실제로 사용하는 테이블을 선택한다. 이 때 참조하는 복호화가 끝난 블록은 도 4a에 있는 것 같이, 복호화 대상의 블록 X에 대해 B 및 C 및 D의 위치 관계에 있는 3개의 블록을 사용한다. 단, 이들에 위치하는 블록이 복호화되어 있지 않은, 또는 픽처의 외부, 또는 슬라이스의 외부였던 경우는 계수의 개수로서 0 또는 그 밖의 임의의 값을 대 용한다. 단, 이 값은 부호화시에 사용한 것과 동일한 값을 사용한다.
테이블 선택기(2101)는, 도 14에 도시하는 바와 같이 실시형태 4와 동일하게 하여 코드 테이블 및 VLC 테이블을 동시에 사용하여, 참조 블록의 계수의 개수를 부호화한 결과 생성되는 부호열의 길이의 합을 산출하여, 이것을 평가값으로 한다. 그리고, 테이블 선택기(2101)는, 코드 테이블 기억기(1502) 및 VLC 테이블 기억기(1505)가 갖는 모든 코드 테이블 및 VLC 테이블의 조합에 대해 이 처리를 행하여, 얻어진 평가값이 가장 작아지는 코드 테이블 및 VLC 테이블의 조합을 선택한다.
계수 개수 복호화기(1506)는, 테이블 선택기(2101)에 의해 선택된 코드 테이블 및 VLC 테이블을 참조하여, 실시형태 6과 동일하게 입력된 복호화 대상 블록의 계수의 개수의 가변길이 복호화를 행한다.
이상과 같이 본 실시형태에서는, 복호화가 끝난 주변 블록의 계수의 개수에 대해 코드 테이블 및 VLC 테이블을 사용하여 부호화를 행하여, 그 때의 부호열의 길이의 합을 평가값으로 하여, 이것이 최소가 되는 조합의 코드 테이블 및 VLC 테이블을 참조함으로써, 계수의 개수의 복호화를 행할 수 있다.
또한, 실시형태 6과 동일하게 테이블 선택기(2101)에서 참조하는 복호화가 끝난 블록은, 도 4a와 같은 3개의 주변 블록 대신에, 도 4b와 같이 복호화 대상의 블록 X에 대해 B 및 D의 위치 관계에 있는 2개만을 사용해도 동일하게 취급하는 것이 가능하다. 단, 이들에 위치하는 블록이 복호화되어 있지 않은, 또는 픽처의 외부였던 경우는 계수의 개수로서 0 또는 그 밖의 임의의 값을 대용한다. 단, 이 값 은 부호화시에 사용한 것과 동일한 값을 사용한다.
또, 본 실시형태에서는, 계수의 개수의 값 그 자체에 대해 가변길이 부호화가 이루어져 있는 부호열의 복호화 처리 방법을 나타낸 것이나, 예측값과 계수의 개수와의 차분값에 대해 가변길이 부호화가 이루어져 있는 부호열의 복호화를 행하는 것도 가능하다. 그 경우는 도 24b에 도시한 바와 같이, 예측값 산출기(1501)에 의한 예측값과 계수 개수 복호화기(1506)에 의해 복호화된 계수의 개수의 차분값을 가산 연산기(1507)에서 가산함으로써 계수의 개수를 결정한다.
또, 본 실시형태에서는, 계수 개수 복호화기(1403)에서 코드 테이블 및 VLC 테이블을 바꾸는 대상으로 하고 있으나, 이들의 한쪽을 바꾸지 않고 고정하여 사용하는 것도 가능하다.
(실시형태 10)
본 실시형태에서의 화상 복호화 장치의 구성 및 복호화 처리의 개요는, 도 17에 도시한 계수 개수 복호화기(1403)를 제외하고, 실시형태 6과 완전히 동등하다. 본 실시형태에서는, 계수 개수 복호화기(1403)에서 참조하는 정보로서 실시형태 6에서의 복호화가 끝난 블록의 계수의 개수 대신에 화면 간 예측 복호화의 경우는 화면 간 예측 모드를 사용하고, 또 화면 내 예측 복호화의 경우는 화면 내 예측 모드를 사용한다. 또한, 실시형태 5의 화상 부호화 장치에서 생성된 부호열이 입력되는 것으로 한다.
여기서는, 도 17에 도시한 계수 개수 복호화기(1403)에서 이루어지는 계수의 개수의 가변길이 복호화 처리에 대해, 도 25를 사용하여 그 상세를 설명한다.
도 25는 계수 개수 복호화기(1403)의 내부 구성을 상세하게 도시한 블록도이다.
도 25에 도시하는 바와 같이, 계수 개수 부호화기(1403)는, 도 18a에 도시한 예측값 산출기(1501)를 구비하고 있지 않다. 화면 간 예측 복호화의 경우는 화면 간 예측 모드가, 또 화면 내 예측 복호화의 경우는 화면 내 예측 모드가 부호열 해석기(1401)로부터 코드 테이블 선택기(2201) 및 VLC 테이블 선택기(2202)에 입력된다. 이에 의해, 코드 테이블 선택기(2201)는, 화면 간 예측 부호화의 경우는 화면 간 예측 모드에, 또 화면 내 예측 부호화의 경우는 화면 내 예측 모드에 기초하여 사용하는 테이블을 선택한다. 표 10은 코드 테이블 선택기(2201)에서의 코드 테이블의 선택 방법을 나타낸 것이다.
예를 들면, 복호화 대상 픽처가 화면 간 예측에 의해 복호화되는 경우, 대상의 블록이 8×8의 사이즈의 예측이 선택되면, 그것에 따라 계수의 개수를 가변길이 복호화하기 위한 코드 테이블로서 2번의 테이블이 선택되게 된다. 또한, 표 10의 각 항목에 대해서는 이것 이외의 것을 사용한 경우도 동일하게 취급할 수 있다. 단, 부호화시에 사용한 것과 동일한 것을 사용한다.
또, VLC 테이블 선택기(2202)는, 코드 테이블 선택기(2201)의 경우와 동일하게 표 11에 도시한 것 같은 선택 방법을 사용하여 실제로 참조하는 VLC 테이블을 선택한다.
계수 개수 복호화기(1506)는, 코드 테이블 선택기(2201)에 의해 선택된 코드 테이블 및 VLC 테이블 선택기(2202)에 의해 선택된 VLC 테이블을 참조하여, 실시형 태 6과 동일하게 입력된 복호화 대상 블록의 계수의 개수의 가변길이 복호화를 행한다.
이상과 같이 본 실시형태에서는, 복호화의 대상으로 하고 있는 블록이 화면 간 예측 복호화의 경우는 화면 간 예측 모드에, 또 화면 내 예측 복호화의 경우는 화면 내 예측 모드에 따라 코드 테이블 및 VLC 테이블을 적응적으로 바꿔 참조함으로써, 계수의 개수의 복호화를 행할 수 있다.
또한, 본 실시형태에서는, 계수의 개수의 값 그 자체에 대해 가변길이 부호화가 이루어져 있는 부호열의 복호화 처리 방법을 나타낸 것인데, 예측값과 계수의 개수와의 차분값에 대해 가변길이 부호화가 이루어져 있는 부호열의 복호화를 행하는 것도 가능하다. 그 경우는 실시형태 6과 동일하게 부호화가 끝난 주변 블록의 계수의 개수를 사용하여 예측값을 결정하여, 그 값과 계수 개수 복호화기(1506)에 의해 복호화된 계수의 개수의 차분값을 가산함으로써 계수의 개수를 결정한다.
또, 본 실시형태에서는, 계수 개수 복호화기(1403)에서 코드 테이블 및 VLC 테이블의 양쪽을 바꿔 가변길이 복호화를 행하고 있으나, 실시형태 6과 동일하게, 이들의 한쪽 또는 양쪽을 바꾸지 않고 고정하여 사용하는 것도 가능하다. 그 경우는 어느 1종류의 코드 테이블 또는 VLC 테이블을 가진 기억기만을 준비함으로써 실현 가능하다.
(실시형태 11)
또한, 상기 각 실시형태에서 나타낸 부호화 처리 및 복호화 처리의 구성을 실현하기 위한 부호화 및 복호화 프로그램을, 플렉서블 디스크 등의 데이터 기억 매체에 기록함으로써, 상기 각 실시형태에서 나타낸 처리를, 독립된 컴퓨터 시스템에서 간단히 실시하는 것이 가능해진다.
도 26은, 상기 실시형태 1부터 10의 부호화 또는 복호화 처리를, 상기 부호화 및 복호화 프로그램을 격납한 플렉서블 디스크를 사용하여, 컴퓨터 시스템에 의해 실시하는 경우를 설명하기 위한 도면이다.
도 26b는 플렉서블 디스크의 정면에서 본 외관, 단면 구조, 및 플렉서블 디스크를 도시하고, 도 26a는 기록 매체 본체인 플렉서블 디스크의 물리 포맷의 예를 도시하고 있다. 플렉서블 디스크(FD)는 케이스(F) 내에 내장되고, 이 디스크의 표면에는, 동심원상으로 외주로부터는 내주를 향해 다수의 트랙(Tr)이 형성되고, 각 트랙은 각도 방향으로 16의 섹터(Se)로 분할되어 있다. 따라서, 상기 프로그램을 격납한 플렉서블 디스크에서는, 상기 플렉서블 디스크(FD) 상에 할당된 영역에, 상기 프로그램으로서의 데이터가 기록되어 있다.
또, 도 26c는, 플렉서블 디스크(FD)에 상기 프로그램의 기록 재생을 행하기 위한 구성을 도시한다. 상기 프로그램을 플렉서블 디스크(FD)에 기록하는 경우는, 컴퓨터 시스템(Cs)으로부터 상기 프로그램으로서의 데이터를 플렉서블 디스크 드라이브를 통해 기입한다. 또, 플렉서블 디스크 내의 프로그램에 의해 상기 부호화 및 복호화 장치를 컴퓨터 시스템 안에 구축하는 경우는, 플렉서블 디스크 드라이브에 의해 프로그램을 플렉서블 디스크로부터 읽어 내어, 컴퓨터 시스템에 전송한다.
또한, 상기 설명에서는, 데이터 기록 매체로서 플렉서블 디스크를 사용하여 설명했으나, 광디스크를 사용해도 동일하게 행할 수 있다. 또, 기록 매체는 이것 에 한정되지 않고, IC 카드, ROM 카세트 등, 프로그램을 기록할 수 있는 것이면 동일하게 실시할 수 있다.
또한 여기서, 상기 실시형태에서 나타낸 화상 부호화 방법이나 화상 복호화 방법의 응용예와 이것을 사용한 시스템을 설명한다.
도 27은, 컨텐츠 배송 서비스를 실현하는 컨텐츠 공급 시스템(ex100)의 전체구성을 도시한 블록도이다. 통신 서비스의 제공 영역을 원하는 크기로 분할하고, 각 셀 내에 각각 고정 무선국인 기지국(ex107∼ex110)이 설치되어 있다.
이 컨텐츠 공급 시스템(ex100)은, 예를 들면 인터넷(ex101)에 인터넷 서비스 프로바이더(ex102) 및 전화망(ex104), 및 기지국(ex107∼ex110)을 통하여, 컴퓨터 (ex111), PDA(personal digital assistant)(ex112), 카메라(ex113), 휴대전화(ex114), 카메라 부착 휴대전화(ex115) 등의 각 기기가 접속된다.
그러나, 컨텐츠 공급 시스템(ex100)은 도 27과 같은 조합에 한정되지 않고, 어느 하나를 조합하여 접속하도록 해도 된다. 또, 고정 무선국인 기지국(ex107∼ex110)을 통하지 않고, 각 기기가 전화망(ex104)에 직접 접속되어도 된다.
카메라(ex113)는 디지털 비디오 카메라 등의 동화상 촬영이 가능한 기기이다. 또, 휴대전화는, PDC(Personal Digital Communications) 방식, CDMA(Code Division Multiple Access) 방식, W-CDMA(Wideband-Code Division Multiple Access) 방식, 또는 GSM(Global System for Mobile Communications) 방식의 휴대전화기, 또는 PHS(Personal Handyphone System) 등이고, 어느 것이어도 상관없다.
또, 스트리밍 서버(ex103)는, 카메라(ex113)로부터 기지국(ex109), 전화망(ex104)을 통해 접속되어 있고, 카메라(ex113)를 사용하여 사용자가 송신하는 부호화처리된 데이터에 기초한 라이브 배송 등이 가능하게 된다. 촬영한 데이터의 부호화처리는 카메라(ex113)로 행해도 되고, 데이터의 송신 처리를 하는 서버 등으로 행해도 된다. 또, 카메라(ex116)로 촬영한 동화상 데이터는 컴퓨터(ex111)를 통해 스트리밍 서버(ex103)에 송신되어도 된다. 카메라(ex116)는 디지털 카메라 등의 정지화상, 동화상이 촬영 가능한 기기이다. 이 경우, 동화상 데이터의 부호화는 카메라 (ex116)로 행하거나 컴퓨터(ex111)로 행하거나 어느 쪽이어도 된다. 또, 부호화 처리는 컴퓨터(ex111)나 카메라(ex116)가 갖는 LSI(ex117)에서 처리하게 된다. 또한, 화상 부호화·복호화용의 소프트웨어를 컴퓨터(ex111) 등으로 읽기 가능한 기록 매체인 어떠한 축적 미디어(CD-ROM, 플렉서블 디스크, 하드 디스크 등)에 설치해도 된다. 또한, 카메라 부착 휴대전화(ex115)로 동화상 데이터를 송신해도 된다. 이 때의 동화상 데이터는 휴대전화(ex115)가 갖는 LSI에서 부호화 처리된 데이터이다.
이 컨텐츠 공급 시스템(ex100)에서는, 사용자가 카메라(ex113), 카메라(ex116) 등으로 촬영하고 있는 컨텐츠(예를 들면, 음악 라이브를 촬영한 영상 등)를 상기 실시형태와 동일하게 부호화 처리하여 스트리밍 서버(ex103)에 송신하는 한편, 스트리밍 서버(ex103)는 요구가 있었던 클라이언트에 대해 상기 컨텐츠 데이터를 스트림 배송한다. 클라이언트로서는, 상기 부호화 처리된 데이터를 복호화하는 것이 가능한, 컴퓨터(ex111), PDA(ex112), 카메라(ex113), 휴대전화(ex114) 등이 있다. 이렇게 함으로써 컨텐츠 공급 시스템(ex100)은, 부호화된 데이터를 클라이언트에서 수신하여 재생할 수 있고, 또한 클라이언트에서 실시간으로 수신하여 복호화하여 재생함으로써, 개인 방송도 실현 가능하게 되는 시스템이다.
이 시스템을 구성하는 각 기기의 부호화, 복호화에는 상기 각 실시형태에서 나타낸 화상 부호화 장치 또는 화상 복호화 장치를 사용하도록 하면 된다.
그 일례로서 휴대전화에 대해 설명한다.
도 28은, 상기 실시형태에서 설명한 화상 부호화 방법과 화상 복호화 방법을 사용한 휴대전화(ex115)를 도시하는 도면이다. 휴대전화(ex115)는, 기지국(ex110)과 간에서 전파를 송수신하기 위한 안테나(ex201), CCD 카메라 등의 영상, 정지화상을 찍는 것이 가능한 카메라부(ex203), 카메라부(ex203)로 촬영한 영상, 안테나 (ex201)로 수신한 영상 등이 복호화된 데이터를 표시하는 액정 디스플레이 등의 표시부(ex202), 조작 키(ex204)군으로 구성되는 본체부, 음성 출력을 하기 위한 스피커 등의 음성 출력부(ex208), 음성 입력을 하기 위한 마이크 등의 음성 입력부(ex205), 촬영한 동화상 또는 정지화상의 데이터, 수신한 메일의 데이터, 동화상의 데이터 또는 정지화상의 데이터 등, 부호화된 데이터 또는 복호화된 데이터를 저장하기 위한 기록 미디어(ex207), 휴대전화(ex115)에 기록 미디어(ex207)를 장착 가능하게 하기 위한 슬롯부(ex206)를 갖고 있다. 기록 미디어(ex207)는 SD 카드 등의 플라스틱 케이스 내에 전기적으로 바꿔쓰기나 소거가 가능한 불휘발성 메모리인 EEPROM(Electrically Erasable and Programmable Read Only Memory)의 일종인 플래쉬 메모리 소자를 격납한 것이다.
또한, 휴대전화(ex115)에 대해 도 29를 사용하여 설명한다. 휴대전화(ex115)는 표시부(ex202) 및 조작 키(ex204)를 구비한 본체부의 각 부를 통괄적으로 제어하 도록 이루어진 주제어부(ex311)에 대해, 전원 회로부(ex310), 조작 입력 제어부(ex304), 화상 부호화부(ex312), 카메라 인터페이스부(ex303), LCD(Liquid Crystal Display) 제어부(ex302), 화상 복호화부(ex309), 다중 분리부(ex308), 기록 재생부(ex307), 변복조 회로부(ex306) 및 음성 처리부(ex305)가 동기 버스(ex313)를 통하여 서로 접속되어 있다.
전원 회로부(ex310)는, 사용자의 조작에 의해 종료 및 전원 키가 ON 상태가 되면, 배터리 팩으로부터 각 부에 대해 전력을 공급함으로써 카메라 부착 디지털휴대전화(ex115)를 동작 가능한 상태로 기동한다.
휴대전화(ex115)는, CPU, ROM 및 RAM 등으로 이루어지는 주제어부(ex311)의 제어에 기초하여, 음성 통화 모드시에 음성 입력부(ex205)에서 집음(集音)한 음성 신호를 음성 처리부(ex305)에 의해 디지털 음성 데이터로 변환하고, 이것을 변복조 회로부(ex306)에서 스펙트럼 확산 처리하여, 송수신 회로부(ex301)에서 디지털 아날로그 변환 처리 및 주파수 변환 처리를 실시한 뒤에 안테나(ex201)를 통해 송신한다. 또 휴대전화기(ex115)는, 음성 통화 모드시에 안테나(ex201)로 수신한 수신 데이터를 증폭하여 주파수 변환 처리 및 아날로그 디지털 변환 처리를 실시하여, 변복조 회로부(ex306)에서 스펙트럼 역확산 처리하고, 음성 처리부(ex305)에 의해 아날로그 음성 데이터로 변환한 뒤, 이것을 음성 출력부(ex208)를 통해 출력한다.
또한, 데이터 통신 모드시에 전자메일을 송신하는 경우, 본체부의 조작 키(ex204)의 조작에 의해 입력된 전자메일의 텍스트 데이터는 조작 입력 제어부(ex304)를 통해 주제어부(ex311)에 송출된다. 주제어부(ex311)는, 텍스트 데이터를 변복조 회로부(ex306)에서 스펙트럼 확산 처리하여, 송수신 회로부(ex301)에서 디지털 아날로그 변환 처리 및 주파수 변환 처리를 실시한 뒤에 안테나(ex201)를 통하여 기지국(ex110)으로 송신한다.
데이터 통신 모드시에 화상 데이터를 송신하는 경우, 카메라부(ex203)로 촬상된 화상 데이터를 카메라 인터페이스부(ex303)를 통하여 화상 부호화부(ex312)에 공급한다. 또, 화상 데이터를 송신하지 않는 경우에는, 카메라부(ex203)로 촬상한 화상 데이터를 카메라 인터페이스부(ex303) 및 LCD 제어부(ex302)를 통하여 표시부(ex202)에 직접 표시하는 것도 가능하다.
화상 부호화부(ex312)는, 본원 발명에서 설명한 화상 부호화 장치를 구비한 구성이고, 카메라부(ex203)로부터 공급된 화상 데이터를 상기 실시형태에서 나타낸 화상 부호화 장치에 사용한 부호화 방법에 의해 압축 부호화함으로써 부호화 화상 데이터로 변환하고, 이것을 다중 분리부(ex308)에 송출한다. 또, 이 때 동시에 휴대전화기(ex115)는, 카메라부(ex203)로 촬상중에 음성 입력부(ex205)에서 집음한 음성을 음성 처리부(ex305)를 통해 디지털의 음성 데이터로서 다중 분리부(ex308)에 송출한다.
다중 분리부(ex308)는, 화상 부호화부(ex312)로부터 공급된 부호화 화상 데이터와 음성 처리부(ex305)로부터 공급된 음성 데이터를 소정의 방식으로 다중화하여, 그 결과 얻어지는 다중화 데이터를 변복조 회로부(ex306)에서 스펙트럼 확산 처리하여, 송수신 회로부(ex301)에서 디지털 아날로그 변환 처리 및 주파수 변환 처리를 실시한 뒤에 안테나(ex201)를 통해 송신한다.
데이터 통신 모드시에 홈페이지 등에 링크된 동화상 파일의 데이터를 수신하는 경우, 안테나(ex201)를 통해 기지국(ex110)으로부터 수신한 수신 데이터를 변복조 회로부(ex306)에서 스펙트럼 역확산 처리하여, 그 결과 얻어지는 다중화 데이터를 다중 분리부(ex308)에 송출한다.
또, 안테나(ex201)를 통해 수신된 다중화 데이터를 복호화하기 위해서는, 다중 분리부(ex308)는, 다중화 데이터를 분리함으로써 화상 데이터의 비트 스트림과 음성 데이터의 비트 스트림으로 나누어, 동기 버스(ex313)를 통하여 상기 부호화 화상 데이터를 화상 복호화부(ex309)에 공급하는 동시에 상기 음성 데이터를 음성 처리부(ex305)에 공급한다.
다음으로, 화상 복호화부(ex309)는, 본원 발명에서 설명한 화상 복호화 장치를 구비한 구성이고, 화상 데이터의 비트 스트림을 상기 실시형태에서 나타낸 부호화 방법에 대응한 복호화 방법으로 복호함으로써 재생 동화상 데이터를 생성하여, 이것을 LCD 제어부(ex302)를 통해 표시부(ex202)에 공급하고, 이에 의해 예를 들면 홈페이지에 링크된 동화상 파일에 포함되는 동화상 데이터가 표시된다. 이 때 동시에 음성 처리부(ex305)는, 음성 데이터를 아날로그 음성 데이터로 변환한 뒤, 이것을 음성 출력부(ex208)에 공급하고, 이에 의해 예를 들면 홈페이지에 링크된 동화상 파일에 포함되는 음성 데이터가 재생된다.
또한, 상기 시스템의 예에 한정되지 않고, 최근은 위성, 지상파에 의한 디지 털 방송이 화제가 되고 있고, 도 30에 도시하는 바와 같이 디지털 방송용 시스템에도 상기 실시형태의 적어도 화상 부호화 장치 또는 화상 복호화 장치 중 어느 하나를 장착할 수 있다. 구체적으로는, 방송국(ex409)에서는 영상 정보의 비트 스트림이 전파를 통해 통신 또는 방송 위성(ex410)에 전송된다. 이것을 받은 방송 위성(ex410)은, 방송용의 전파를 발신하여, 이 전파를 위성 방송 수신 설비를 갖는 가정의 안테나(ex406)로 수신하여, TV(수신기)(ex401) 또는 셋탑 박스(STB)(ex407) 등의 장치에 의해 비트 스트림을 복호화하여 이것을 재생한다. 또, 기록 매체인 CD나 DVD 등의 축적 미디어(ex402)에 기록한 비트 스트림을 읽어 내어, 복호화하는 재생 장치 (ex403)에도 상기 실시형태에서 나타낸 화상 복호화 장치를 실장하는 것이 가능하다. 이 경우, 재생된 영상 신호는 모니터(ex404)에 표시된다. 또, 케이블 TV용의 케이블(ex405) 또는 위성/지상파 방송의 안테나(ex406)에 접속된 셋탑 박스(ex407) 내에 화상 복호화 장치를 실장하여, 이것을 TV의 모니터(ex408)에서 재생하는 구성도 생각할 수 있다. 이 때 셋탑 박스가 아니라, TV 내에 화상 복호화 장치를 장착해도 된다. 또, 안테나(ex411)를 갖는 차(ex412)에서 위성(ex410)으로부터 또는 기지국 (ex107) 등으로부터 신호를 수신하여, 차(ex412)가 갖는 카 네비게이션(ex413) 등의 표시 장치에 동화상을 재생하는 것도 가능하다.
또한, 화상 신호를 상기 실시형태에서 나타낸 화상 부호화 장치로 부호화하여, 기록 매체에 기록할 수도 있다. 구체예로서는, DVD 디스크(ex421)에 화상 신호를 기록하는 DVD 레코더나, 하드 디스크에 기록하는 디스크 레코더 등의 레코더 (ex420)가 있다. 또한 SD 카드(ex422)에 기록할 수도 있다. 레코더(ex420)가 상 기 실시형태에서 나타낸 화상 복호화 장치를 구비하고 있으면, DVD 디스크(ex421)나 SD 카드(ex422)에 기록한 화상 신호를 재생하여, 모니터(ex408)에 표시할 수 있다.
또한, 카 네비게이션(ex413)의 구성은, 예를 들면 도 29에 도시한 구성 중, 카메라부(ex203)와 카메라 인터페이스부(ex303), 화상 부호화부(ex312)를 제외한 구성을 생각할 수 있고, 동일한 것을 컴퓨터(ex111)나 TV(수신기)(ex401) 등에서도 생각할 수 있다.
또, 상기 휴대전화(ex114) 등의 단말은, 부호화기·복호화기를 모두 갖는 송수신형의 단말 외에, 부호화기만의 송신 단말, 복호화기만의 수신 단말의 3가지의 실장 형식을 생각할 수 있다.
이렇게, 상기 실시형태에서 나타낸 화상 부호화 방법 또는 화상 복호화 방법을 상술한 모든 기기·시스템에 사용하는 것은 가능하고, 그렇게 함으로써 상기 실시형태에서 설명한 효과를 얻을 수 있다.
또, 본 발명은 이러한 상기 실시형태에 한정되는 것이 아니라, 본 발명의 범위를 벗어나지 않고 여러가지의 변형 또는 수정이 가능하다.
이상과 같이 본 발명의 동화상 부호화 방법에 의하면, 부호화 대상 블록 중에 포함되는 직교 변환 후의 0 이외의 계수의 개수를 부호화할 때, 최적의 가변길이 부호화용의 테이블을 참조할 수 있기 때문에, 부호화 효율의 향상을 도모할 수 있다.
또, 본 발명에 따른 동화상 복호화 방법에 의하면, 블록 중에 포함되는 직교 변환 후의 0 이외의 계수의 개수가, 최적의 가변길이 부호화용의 테이블을 참조하여 부호화되어있는 부호열을 바르게 복호화 할 수 있다.
이상과 같이, 본 발명에 따른 화상 부호화 방법 및 화상 복호화 방법은, 예를 들면 휴대전화, DVD 장치, 및 PC 등에서, 화상을 부호화하여 부호열을 생성하거나, 생성된 부호열을 복호화하거나 하기 위한 방법으로서 유용하다.

Claims (33)

  1. 부호화된 화상을 블록마다 복호화하는 복호화방법에 있어서,
    현재의 블록의 주변에 위치하는 복호화된 블록에서, "0"이 아닌 값을 갖는 0이 아닌 계수의 개수에 기초하여, 복호화할 상기 현재의 블록에서 0이 아닌 계수의 개수에 대한 예측값을 결정하는 단계;
    상기 결정된 예측값에 기초하여 가변길이 코드 테이블을 선택하는 단계; 및
    상기 선택된 가변길이 코드 테이블을 사용하여, 상기 현재의 블록에서 0이 아닌 계수의 개수를 부호화하여 얻어진 부호화된 데이터를 복호화하는 단계를 포함하는, 복호화 방법.
  2. 청구항 1에 있어서, 상기 결정 단계는 상기 현재의 블록의 주변부에 위치하는 복호화된 블록들에서 복수의 0이 아닌 계수의 개수에 기초하는, 복호화 방법.
  3. 청구항 2에 있어서, 상기 예측값은 상기 현재의 블록의 주변부에 위치하는 복호화된 블록들에서 0이 아닌 계수의 개수의 평균값에 기초하여 결정되는, 복호화 방법.
  4. 블록마다 공간 주파수 성분을 나타내는 계수로 변환하여 부호화된 화상을 복호화하는 화상 복호화 장치로서,
    복호화 대상 블록의 주변에 위치하는 복호화가 끝난 블록 중에 포함되는 0 이외의 계수의 개수에 기초하여, 상기 복호화 대상 블록 중에 포함되는 0 이외의 계수의 개수의 예측값을 산출하는 예측값 산출 수단과,
    상기 예측값 산출 수단에 의해 산출된 상기 예측값에 기초하여 가변길이 코드 테이블을 선택하는 선택 수단과,
    상기 선택 수단에 의해 선택된 상기 가변길이 코드 테이블을 사용하여, 상기 복호화 대상 블록 중에 포함되는 0 이외의 계수의 개수가 부호화되어 있는 부호열에 대해 가변길이 복호화를 행하는 가변길이 복호화 수단을 포함하는, 화상 복호화 장치.
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
KR1020037011695A 2002-04-15 2003-03-27 화상 복호화 방법 KR100954244B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2002-00112665 2002-04-15
JP2002112665 2002-04-15
PCT/JP2003/003794 WO2003088675A1 (en) 2002-04-15 2003-03-27 Image encoding method and image decoding method

Related Child Applications (3)

Application Number Title Priority Date Filing Date
KR1020067006898A Division KR100956927B1 (ko) 2002-04-15 2003-03-27 화상 복호화 방법
KR1020067006897A Division KR100956926B1 (ko) 2002-04-15 2003-03-27 화상 부호화 방법
KR1020067006899A Division KR100956920B1 (ko) 2002-04-15 2003-03-27 화상 부호화 방법

Publications (2)

Publication Number Publication Date
KR20040099093A KR20040099093A (ko) 2004-11-26
KR100954244B1 true KR100954244B1 (ko) 2010-04-23

Family

ID=29243326

Family Applications (14)

Application Number Title Priority Date Filing Date
KR1020107012043A KR101038154B1 (ko) 2002-04-15 2003-03-27 화상 복호화 방법
KR1020107012044A KR100980987B1 (ko) 2002-04-15 2003-03-27 화상 복호화 방법
KR1020117002312A KR101154606B1 (ko) 2002-04-15 2003-03-27 화상 복호화 방법
KR1020117019206A KR101227720B1 (ko) 2002-04-15 2003-03-27 화상 부호화 장치 및 화상 복호화 장치
KR1020107001030A KR100987541B1 (ko) 2002-04-15 2003-03-27 화상 복호화 방법
KR1020067006899A KR100956920B1 (ko) 2002-04-15 2003-03-27 화상 부호화 방법
KR1020067006898A KR100956927B1 (ko) 2002-04-15 2003-03-27 화상 복호화 방법
KR1020127019701A KR101257212B1 (ko) 2002-04-15 2003-03-27 화상 부호화 장치 및 화상 복호화 장치
KR1020107012045A KR101001753B1 (ko) 2002-04-15 2003-03-27 화상 복호화 방법
KR1020107001036A KR100987548B1 (ko) 2002-04-15 2003-03-27 화상 부호화 방법
KR1020107001031A KR100990314B1 (ko) 2002-04-15 2003-03-27 화상 복호화 방법
KR1020037011695A KR100954244B1 (ko) 2002-04-15 2003-03-27 화상 복호화 방법
KR1020127007087A KR101152507B1 (ko) 2002-04-15 2003-03-27 화상 부호화 장치 및 화상 복호화 장치
KR1020067006897A KR100956926B1 (ko) 2002-04-15 2003-03-27 화상 부호화 방법

Family Applications Before (11)

Application Number Title Priority Date Filing Date
KR1020107012043A KR101038154B1 (ko) 2002-04-15 2003-03-27 화상 복호화 방법
KR1020107012044A KR100980987B1 (ko) 2002-04-15 2003-03-27 화상 복호화 방법
KR1020117002312A KR101154606B1 (ko) 2002-04-15 2003-03-27 화상 복호화 방법
KR1020117019206A KR101227720B1 (ko) 2002-04-15 2003-03-27 화상 부호화 장치 및 화상 복호화 장치
KR1020107001030A KR100987541B1 (ko) 2002-04-15 2003-03-27 화상 복호화 방법
KR1020067006899A KR100956920B1 (ko) 2002-04-15 2003-03-27 화상 부호화 방법
KR1020067006898A KR100956927B1 (ko) 2002-04-15 2003-03-27 화상 복호화 방법
KR1020127019701A KR101257212B1 (ko) 2002-04-15 2003-03-27 화상 부호화 장치 및 화상 복호화 장치
KR1020107012045A KR101001753B1 (ko) 2002-04-15 2003-03-27 화상 복호화 방법
KR1020107001036A KR100987548B1 (ko) 2002-04-15 2003-03-27 화상 부호화 방법
KR1020107001031A KR100990314B1 (ko) 2002-04-15 2003-03-27 화상 복호화 방법

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020127007087A KR101152507B1 (ko) 2002-04-15 2003-03-27 화상 부호화 장치 및 화상 복호화 장치
KR1020067006897A KR100956926B1 (ko) 2002-04-15 2003-03-27 화상 부호화 방법

Country Status (20)

Country Link
US (14) US7095896B2 (ko)
EP (15) EP2254340B1 (ko)
JP (22) JP4130780B2 (ko)
KR (14) KR101038154B1 (ko)
CN (7) CN100527838C (ko)
AT (13) ATE312478T1 (ko)
AU (1) AU2003227248B2 (ko)
BR (2) BR0303566A (ko)
CA (2) CA2732005C (ko)
CY (2) CY1111051T1 (ko)
DE (8) DE60329639D1 (ko)
DK (5) DK1596608T3 (ko)
ES (13) ES2376639T3 (ko)
HK (4) HK1136730A1 (ko)
MX (1) MXPA03010115A (ko)
MY (4) MY135378A (ko)
PT (6) PT2239948E (ko)
SI (1) SI1478188T1 (ko)
TW (4) TWI314838B (ko)
WO (1) WO2003088675A1 (ko)

Families Citing this family (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003045065A2 (en) * 2001-11-22 2003-05-30 Matsushita Electric Industrial Co., Ltd. Variable length coding method and variable length decoding method
JP4130780B2 (ja) 2002-04-15 2008-08-06 松下電器産業株式会社 画像符号化方法および画像復号化方法
CN1214649C (zh) * 2003-09-18 2005-08-10 中国科学院计算技术研究所 用于视频预测残差系数编码的熵编码方法
JP3879741B2 (ja) * 2004-02-25 2007-02-14 ソニー株式会社 画像情報符号化装置および画像情報符号化方法
US7376277B2 (en) * 2004-06-15 2008-05-20 Pegasus Imaging Corporation Data transform for improved compression of multicomponent images
US7477741B1 (en) * 2004-10-01 2009-01-13 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Analysis resistant cipher method and apparatus
WO2007016731A1 (en) * 2005-08-05 2007-02-15 Vigil Systems Pty Ltd Computerised information collection and training method and apparatus
US8599841B1 (en) 2006-03-28 2013-12-03 Nvidia Corporation Multi-format bitstream decoding engine
US8593469B2 (en) * 2006-03-29 2013-11-26 Nvidia Corporation Method and circuit for efficient caching of reference video data
KR100745765B1 (ko) 2006-04-13 2007-08-02 삼성전자주식회사 화상 데이터의 공간상 예측 장치 및 방법과 그를 이용한부호화 장치 및 방법, 화상 데이터의 공간상 예측 보상장치 및 방법과 그를 이용한 복호화 장치 및 방법
US7884742B2 (en) * 2006-06-08 2011-02-08 Nvidia Corporation System and method for efficient compression of digital data
US20080056381A1 (en) * 2006-08-30 2008-03-06 Chih-Ta Star Sung Image compression and decompression with fast storage device accessing
JP4831372B2 (ja) * 2006-11-24 2011-12-07 日本電気株式会社 符号化および復号装置、符号化および復号方法ならびにプログラム
US7733249B2 (en) * 2007-01-18 2010-06-08 Qin Zhang Method and system of compressing and decompressing data
KR101083379B1 (ko) 2007-03-14 2011-11-14 니폰덴신뎅와 가부시키가이샤 움직임 벡터 탐색 방법 및 장치 그리고 프로그램을 기록한 기록매체
EP2120461B1 (en) 2007-03-14 2011-07-06 Nippon Telegraph and Telephone Corporation Code quantity estimating method and device, their program, and recording medium
WO2008111458A1 (ja) 2007-03-14 2008-09-18 Nippon Telegraph And Telephone Corporation 符号化ビットレート制御方法及び装置、そのプログラム並びにプログラムを記録した記録媒体
WO2008111454A1 (ja) 2007-03-14 2008-09-18 Nippon Telegraph And Telephone Corporation 量子化制御方法及び装置、そのプログラム並びにプログラムを記録した記録媒体
US20080260023A1 (en) * 2007-04-18 2008-10-23 Chih-Ta Star Sung Digital video encoding and decoding with refernecing frame buffer compression
NO328295B1 (no) * 2007-12-20 2010-01-25 Tandberg Telecom As VLC-fremgangsmate og -innretning
US8213502B2 (en) * 2007-12-31 2012-07-03 Ceva D.S.P. Ltd. Method and system for real-time adaptive quantization control
CN101500159B (zh) * 2008-01-31 2012-01-11 华为技术有限公司 一种图像熵编码、熵解码的方法及装置
WO2009107777A1 (ja) * 2008-02-27 2009-09-03 株式会社 東芝 動画像符号化/復号装置
JP2010103969A (ja) * 2008-09-25 2010-05-06 Renesas Technology Corp 画像復号方法、画像復号装置、画像符号化方法及び画像符号化装置
KR101458471B1 (ko) * 2008-10-01 2014-11-10 에스케이텔레콤 주식회사 영상 부호화/복호화 방법 및 장치
CN101742278B (zh) * 2008-11-12 2012-11-07 富士通半导体股份有限公司 获取图像的运动矢量和边界强度的方法和系统
JP2012124542A (ja) * 2009-03-03 2012-06-28 Hitachi Ltd 動画像符号化方法及び動画像復号化方法
JP5258664B2 (ja) * 2009-04-14 2013-08-07 株式会社エヌ・ティ・ティ・ドコモ 画像符号化装置、方法およびプログラム、並びに、画像復号装置、方法およびプログラム
WO2010133763A1 (en) * 2009-05-19 2010-11-25 Nokia Corporation Method for variable length coding and apparatus
BRPI0924908B1 (pt) * 2009-06-18 2021-05-11 Kabushiki Kaisha Toshiba aparelhos de codificação e decodificação de vídeo, métodos para codificação e decodificação de vídeo
US9628794B2 (en) * 2009-06-18 2017-04-18 Kabushiki Kaisha Toshiba Video encoding apparatus and a video decoding apparatus
US20110158310A1 (en) * 2009-12-30 2011-06-30 Nvidia Corporation Decoding data using lookup tables
CN107295346B (zh) * 2010-04-01 2020-11-10 索尼公司 图像处理设备和方法
CN106060561B (zh) 2010-04-13 2019-06-28 Ge视频压缩有限责任公司 解码器、重建数组的方法、编码器、编码方法及数据流
CN105959703B (zh) 2010-04-13 2019-06-04 Ge视频压缩有限责任公司 解码器、编码器、生成数据流的方法及解码数据流的方法
CN106231332B (zh) 2010-04-13 2020-04-14 Ge视频压缩有限责任公司 解码器、解码方法、编码器以及编码方法
EP3490257B1 (en) 2010-04-13 2024-01-10 GE Video Compression, LLC Sample region merging
US8638863B1 (en) * 2010-05-18 2014-01-28 Google Inc. Apparatus and method for filtering video using extended edge-detection
US8817882B2 (en) * 2010-07-30 2014-08-26 Qualcomm Incorporated Coding blocks of data using a generalized form of golomb codes
JP5064547B2 (ja) * 2010-09-15 2012-10-31 豊田合成株式会社 車両用放電装置
US9025661B2 (en) 2010-10-01 2015-05-05 Qualcomm Incorporated Indicating intra-prediction mode selection for video coding
JP5652101B2 (ja) * 2010-10-05 2015-01-14 富士通株式会社 画像処理装置及び画像処理方法
US8913662B2 (en) * 2011-01-06 2014-12-16 Qualcomm Incorporated Indicating intra-prediction mode selection for video coding using CABAC
US9210442B2 (en) 2011-01-12 2015-12-08 Google Technology Holdings LLC Efficient transform unit representation
US9380319B2 (en) 2011-02-04 2016-06-28 Google Technology Holdings LLC Implicit transform unit representation
JP5801614B2 (ja) * 2011-06-09 2015-10-28 キヤノン株式会社 画像処理装置、画像処理方法
JP5839848B2 (ja) 2011-06-13 2016-01-06 キヤノン株式会社 画像処理装置、画像処理方法
EP2723077B1 (en) * 2011-06-17 2021-07-21 JVC KENWOOD Corporation Image encoding device, image encoding method and image encoding program, as well as image decoding device, image decoding method and image decoding program
TWI597973B (zh) * 2011-10-31 2017-09-01 Jvc Kenwood Corp Video encoding device, video encoding method and recording medium
JP2013126093A (ja) * 2011-12-14 2013-06-24 Sony Corp 画像処理装置及び画像処理方法
TWI577181B (zh) * 2011-12-28 2017-04-01 Jvc Kenwood Corp Dynamic video coding device, dynamic image coding method and dynamic image coding program
JP5977544B2 (ja) * 2012-03-09 2016-08-24 キヤノン株式会社 情報処理装置、情報処理方法
JP5975685B2 (ja) 2012-03-09 2016-08-23 キヤノン株式会社 情報処理装置、情報処理方法
JP6000579B2 (ja) 2012-03-09 2016-09-28 キヤノン株式会社 情報処理装置、情報処理方法
US9219915B1 (en) 2013-01-17 2015-12-22 Google Inc. Selection of transform size in video coding
JP5547312B2 (ja) * 2013-02-07 2014-07-09 株式会社東芝 動画像復号化装置及び方法
JP5498597B2 (ja) * 2013-02-07 2014-05-21 株式会社東芝 動画像符号化装置及び方法
US9967559B1 (en) 2013-02-11 2018-05-08 Google Llc Motion vector dependent spatial transformation in video coding
US9544597B1 (en) 2013-02-11 2017-01-10 Google Inc. Hybrid transform in video encoding and decoding
US9674530B1 (en) 2013-04-30 2017-06-06 Google Inc. Hybrid transforms in video coding
WO2015109598A1 (en) * 2014-01-27 2015-07-30 Mediatek Singapore Pte. Ltd. Methods for motion parameter hole filling
US10477204B2 (en) * 2014-06-20 2019-11-12 Sharp Kabushiki Kaisha Harmonized palette coding
US9565451B1 (en) 2014-10-31 2017-02-07 Google Inc. Prediction dependent transform coding
JP6561644B2 (ja) * 2014-12-25 2019-08-21 オムロン株式会社 導光板、表示装置及び遊技機
US10171810B2 (en) 2015-06-22 2019-01-01 Cisco Technology, Inc. Transform coefficient coding using level-mode and run-mode
US9769499B2 (en) 2015-08-11 2017-09-19 Google Inc. Super-transform video coding
EP3306930A4 (en) * 2015-09-10 2018-05-02 Samsung Electronics Co., Ltd. Encoding device, decoding device, and encoding and decoding method thereof
US10277905B2 (en) 2015-09-14 2019-04-30 Google Llc Transform selection for non-baseband signal coding
US9807423B1 (en) 2015-11-24 2017-10-31 Google Inc. Hybrid transform scheme for video coding
WO2018030293A1 (ja) * 2016-08-10 2018-02-15 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
JP6434172B2 (ja) * 2018-01-12 2018-12-05 マクセル株式会社 復号化方法
WO2019143688A1 (en) 2018-01-19 2019-07-25 Pcms Holdings, Inc. Multi-focal planes with varying positions
EP3769517B1 (en) 2018-03-23 2023-09-13 InterDigital VC Holdings, Inc. Multifocal plane based method to produce stereoscopic viewpoints in a dibr system (mfp-dibr)
US11689709B2 (en) * 2018-07-05 2023-06-27 Interdigital Vc Holdings, Inc. Method and system for near-eye focal plane overlays for 3D perception of content on 2D displays
CN109360253B (zh) * 2018-09-28 2023-08-11 共享智能装备有限公司 一种大像素bmp格式图像的绘制方法
US10666985B1 (en) * 2018-11-18 2020-05-26 Sony Corporation Sub-block based entropy coding for image coding
US11122297B2 (en) 2019-05-03 2021-09-14 Google Llc Using border-aligned block functions for image compression
US11663730B2 (en) * 2021-02-19 2023-05-30 Toyota Motor Engineering & Manufacturing North America, Inc. Systems and methods for an improved camera system using a graded lens and filters to estimate depth
CN113436289B (zh) * 2021-08-04 2023-08-22 成都工业学院 一种基于方向向量相关系数的图像编码及分类方法
CN113678849B (zh) * 2021-08-15 2023-06-23 万杰智能科技股份有限公司 一种油条坯转送及拉长装置
CN117498873B (zh) * 2023-11-07 2024-03-29 东莞市杜氏诚发精密弹簧有限公司 一种血管栓塞弹簧组件智能加工系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04100390A (ja) * 1990-08-20 1992-04-02 Hitachi Ltd 高能率符号化方式
JPH10191324A (ja) 1996-11-07 1998-07-21 Matsushita Electric Ind Co Ltd 画像符号化方法および画像符号化装置並びに画像符号化プログラムを記録した記録媒体
KR20020006149A (ko) * 2000-07-11 2002-01-19 송문섭 동영상압축 부호화장치의 가변 길이 부호화기
KR20020006150A (ko) * 2000-07-11 2002-01-19 송문섭 동영상 압축 부호화장치의 가변길이부호화 테이블 분할가변길이 부호화 장치 및 그 방법

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4541012A (en) * 1982-01-04 1985-09-10 Compression Labs, Inc. Video bandwidth reduction system employing interframe block differencing and transform domain coding
US5010401A (en) * 1988-08-11 1991-04-23 Mitsubishi Denki Kabushiki Kaisha Picture coding and decoding apparatus using vector quantization
JP3207198B2 (ja) 1990-11-26 2001-09-10 株式会社東芝 液晶表示プロジェクタの冷却装置
JPH04223773A (ja) * 1990-12-26 1992-08-13 Casio Comput Co Ltd 符号化装置
EP0533195A2 (en) * 1991-09-20 1993-03-24 Sony Corporation Picture signal encoding and/or decoding apparatus
US5475501A (en) * 1991-09-30 1995-12-12 Sony Corporation Picture encoding and/or decoding method and apparatus
US5510840A (en) * 1991-12-27 1996-04-23 Sony Corporation Methods and devices for encoding and decoding frame signals and recording medium therefor
JP3016456B2 (ja) * 1992-06-15 2000-03-06 日本電信電話株式会社 適応的可変長符号化方法
US5842033A (en) * 1992-06-30 1998-11-24 Discovision Associates Padding apparatus for passing an arbitrary number of bits through a buffer in a pipeline system
JP3278948B2 (ja) 1993-02-05 2002-04-30 日本電信電話株式会社 可変長符号化方法
KR940023248A (ko) * 1993-03-15 1994-10-22 오오가 노리오 화상 신호 부호화 방법 및 장치와, 화상 신호 복호화 방법 및 장치
JPH07107492A (ja) * 1993-10-04 1995-04-21 N T T Data Tsushin Kk 画像符号化方式
US5708659A (en) * 1993-10-20 1998-01-13 Lsi Logic Corporation Method for hashing in a packet network switching system
US5887187A (en) * 1993-10-20 1999-03-23 Lsi Logic Corporation Single chip network adapter apparatus
US5539663A (en) * 1993-11-24 1996-07-23 Intel Corporation Process, apparatus and system for encoding and decoding video signals using temporal filtering
US5576765A (en) * 1994-03-17 1996-11-19 International Business Machines, Corporation Video decoder
US5563593A (en) * 1994-03-18 1996-10-08 Lucent Technologies Inc. Video coding with optimized low complexity variable length codes
US5500678A (en) * 1994-03-18 1996-03-19 At&T Corp. Optimized scanning of transform coefficients in video coding
TW393856B (en) 1994-09-07 2000-06-11 Ind Tech Res Inst Video compression method and device
JP4223571B2 (ja) * 1995-05-02 2009-02-12 ソニー株式会社 画像符号化方法及び装置
US5740283A (en) * 1995-07-06 1998-04-14 Rubin, Bednarek & Associates, Inc. Digital video compression utilizing mixed vector and scalar outputs
JP3484834B2 (ja) * 1995-07-28 2004-01-06 ソニー株式会社 データ符号化/復号化方法および装置
JPH0955935A (ja) * 1995-08-15 1997-02-25 Nippon Steel Corp 画像および音声符号化装置
JP3552811B2 (ja) * 1995-09-29 2004-08-11 三菱電機株式会社 ディジタル映像信号符号化装置および復号化装置
US5883678A (en) * 1995-09-29 1999-03-16 Kabushiki Kaisha Toshiba Video coding and video decoding apparatus for reducing an alpha-map signal at a controlled reduction ratio
US5777679A (en) * 1996-03-15 1998-07-07 International Business Machines Corporation Video decoder including polyphase fir horizontal filter
US5668599A (en) * 1996-03-19 1997-09-16 International Business Machines Corporation Memory management for an MPEG2 compliant decoder
JP2848326B2 (ja) * 1996-03-28 1999-01-20 日本電気株式会社 Mpeg符号化画像復号装置
EP1835762A3 (en) * 1996-05-28 2007-10-03 Matsushita Electric Industrial Co., Ltd. decoding apparatus with intra prediction
JPH1023425A (ja) * 1996-07-01 1998-01-23 Sony Corp 画像符号化装置および方法、画像復号化装置および方法、並びに画像記録媒体
US6341144B1 (en) * 1996-09-20 2002-01-22 At&T Corp. Video coder providing implicit coefficient prediction and scan adaptation for image coding and intra coding of video
SG93920A1 (en) * 1996-11-07 2003-01-21 Matsushita Electric Ind Co Ltd An image decoding method and an image decoding apparatus
US5821887A (en) * 1996-11-12 1998-10-13 Intel Corporation Method and apparatus for decoding variable length codes
US6614845B1 (en) * 1996-12-24 2003-09-02 Verizon Laboratories Inc. Method and apparatus for differential macroblock coding for intra-frame data in video conferencing systems
US5974184A (en) * 1997-03-07 1999-10-26 General Instrument Corporation Intra-macroblock DC and AC coefficient prediction for interlaced digital video
DE69806297T3 (de) * 1997-03-26 2007-03-29 Matsushita Electric Industrial Co., Ltd., Kadoma Bilddekodiergerät
US6680976B1 (en) * 1997-07-28 2004-01-20 The Board Of Trustees Of The University Of Illinois Robust, reliable compression and packetization scheme for transmitting video
JP3356663B2 (ja) * 1997-10-22 2002-12-16 松下電器産業株式会社 画像符号化装置、画像符号化方法および画像符号化プログラムを記録した記録媒体
JP3738939B2 (ja) * 1998-03-05 2006-01-25 Kddi株式会社 動画像のカット点検出装置
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
US6625211B1 (en) * 1999-02-25 2003-09-23 Matsushita Electric Industrial Co., Ltd. Method and apparatus for transforming moving picture coding system
US6658157B1 (en) * 1999-06-29 2003-12-02 Sony Corporation Method and apparatus for converting image information
JP2001028748A (ja) * 1999-07-12 2001-01-30 Sony Corp データ再生伝送装置及びデータ再生伝送方法
FI116819B (fi) 2000-01-21 2006-02-28 Nokia Corp Menetelmä kuvien lähettämiseksi ja kuvakooderi
JP2001251616A (ja) * 2000-03-02 2001-09-14 Media Glue Corp 多重化音響・動画圧縮符号化信号変換方法、装置および変換プログラムを記録した媒体
KR20020006250A (ko) * 2000-07-12 2002-01-19 린 와이-푸 점술을 중심으로 하는 네트워크 마케팅 시스템 및 그 방법
US6748020B1 (en) * 2000-10-25 2004-06-08 General Instrument Corporation Transcoder-multiplexer (transmux) software architecture
WO2002078355A1 (en) * 2001-03-23 2002-10-03 Nokia Corporation Variable length coding
KR100454501B1 (ko) * 2001-12-26 2004-10-28 브이케이 주식회사 영상신호를 부호화 또는 복호화하기 위한 예측 장치 및 방법
JP4130780B2 (ja) 2002-04-15 2008-08-06 松下電器産業株式会社 画像符号化方法および画像復号化方法
FI114679B (fi) * 2002-04-29 2004-11-30 Nokia Corp Satunnaisaloituspisteet videokoodauksessa
JP4223773B2 (ja) 2002-09-13 2009-02-12 株式会社東芝 無線通信端末
JP4100390B2 (ja) 2004-10-07 2008-06-11 三菱自動車工業株式会社 車両の前部車体構造

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04100390A (ja) * 1990-08-20 1992-04-02 Hitachi Ltd 高能率符号化方式
JPH10191324A (ja) 1996-11-07 1998-07-21 Matsushita Electric Ind Co Ltd 画像符号化方法および画像符号化装置並びに画像符号化プログラムを記録した記録媒体
KR20020006149A (ko) * 2000-07-11 2002-01-19 송문섭 동영상압축 부호화장치의 가변 길이 부호화기
KR20020006150A (ko) * 2000-07-11 2002-01-19 송문섭 동영상 압축 부호화장치의 가변길이부호화 테이블 분할가변길이 부호화 장치 및 그 방법

Also Published As

Publication number Publication date
EP1753246B1 (en) 2009-08-12
CN1976471A (zh) 2007-06-06
CN100527838C (zh) 2009-08-12
CN1929608A (zh) 2007-03-14
TWI314837B (en) 2009-09-11
EP1750451B1 (en) 2009-08-12
JP4982459B2 (ja) 2012-07-25
JP4185561B2 (ja) 2008-11-26
TWI281352B (en) 2007-05-11
US7693340B2 (en) 2010-04-06
EP1744561B1 (en) 2009-11-04
PT1746841E (pt) 2009-11-03
US20080063056A1 (en) 2008-03-13
CN1917643B (zh) 2010-12-01
PT2254340E (pt) 2012-02-02
US7308144B2 (en) 2007-12-11
JP2014079003A (ja) 2014-05-01
EP2239948B1 (en) 2011-06-01
JP4465036B2 (ja) 2010-05-19
EP1478188A4 (en) 2004-11-17
US7769238B2 (en) 2010-08-03
ES2376639T3 (es) 2012-03-15
ES2376639T9 (es) 2012-06-07
DE60334341D1 (de) 2010-11-04
KR20100074327A (ko) 2010-07-01
JP4628498B2 (ja) 2011-02-09
DK1746841T3 (da) 2009-11-30
DK1744562T3 (da) 2009-10-12
DE60328838D1 (de) 2009-09-24
ES2277313T3 (es) 2007-07-01
KR101154606B1 (ko) 2012-06-08
KR20100074325A (ko) 2010-07-01
KR100990314B1 (ko) 2010-10-26
US7095896B2 (en) 2006-08-22
TW200307465A (en) 2003-12-01
EP1744562A2 (en) 2007-01-17
US7308149B2 (en) 2007-12-11
CN1976470A (zh) 2007-06-06
ES2329712T3 (es) 2009-11-30
US20060233451A1 (en) 2006-10-19
JP4465035B2 (ja) 2010-05-19
CN100527840C (zh) 2009-08-12
KR100956927B1 (ko) 2010-05-11
JP2010206823A (ja) 2010-09-16
EP2134097B1 (en) 2011-09-07
KR20100012061A (ko) 2010-02-04
MY146793A (en) 2012-09-28
JP2011061834A (ja) 2011-03-24
US8526748B2 (en) 2013-09-03
KR20120039761A (ko) 2012-04-25
KR101001753B1 (ko) 2010-12-15
US20080063055A1 (en) 2008-03-13
EP2131593A1 (en) 2009-12-09
ES2348325T3 (es) 2010-12-02
MY141699A (en) 2010-06-15
EP1744561A3 (en) 2007-02-07
CN1976468A (zh) 2007-06-06
KR20110016508A (ko) 2011-02-17
KR101257212B1 (ko) 2013-04-23
HK1146562A1 (en) 2011-06-17
TW200629911A (en) 2006-08-16
JP5208157B2 (ja) 2013-06-12
US20080117969A1 (en) 2008-05-22
KR20060040751A (ko) 2006-05-10
EP2134097A1 (en) 2009-12-16
JP2008160887A (ja) 2008-07-10
US20040184538A1 (en) 2004-09-23
US7308143B2 (en) 2007-12-11
JP4185563B2 (ja) 2008-11-26
EP1744561A2 (en) 2007-01-17
JP2008178128A (ja) 2008-07-31
EP2254341A1 (en) 2010-11-24
EP1744562B1 (en) 2009-08-12
MY140969A (en) 2010-02-12
JP2010081646A (ja) 2010-04-08
DE60302652D1 (de) 2006-01-12
ES2398516T3 (es) 2013-03-19
ATE352951T1 (de) 2007-02-15
MXPA03010115A (es) 2004-03-10
JP4382864B2 (ja) 2009-12-16
PT2131593E (pt) 2010-10-11
JP2011010339A (ja) 2011-01-13
EP2293578A1 (en) 2011-03-09
US20060233449A1 (en) 2006-10-19
CN100527846C (zh) 2009-08-12
ATE511733T1 (de) 2011-06-15
EP2131593B1 (en) 2010-09-22
KR20100074326A (ko) 2010-07-01
DE60329945D1 (de) 2009-12-17
KR20110099348A (ko) 2011-09-07
CN1565130A (zh) 2005-01-12
ATE482570T1 (de) 2010-10-15
CY1111051T1 (el) 2015-06-11
JP2010193509A (ja) 2010-09-02
KR101038154B1 (ko) 2011-05-31
EP1596608A2 (en) 2005-11-16
ES2329822T3 (es) 2009-12-01
EP1750451A2 (en) 2007-02-07
US20130315495A1 (en) 2013-11-28
CA2444357C (en) 2012-03-20
TW200629912A (en) 2006-08-16
ES2369065T3 (es) 2011-11-25
DE60328836D1 (de) 2009-09-24
DE60311530T2 (de) 2007-11-15
PT2239948E (pt) 2011-06-09
TWI314838B (en) 2009-09-11
DE60311530D1 (de) 2007-03-15
JP2011172236A (ja) 2011-09-01
ES2330661T3 (es) 2009-12-14
KR100980987B1 (ko) 2010-09-07
US8139878B2 (en) 2012-03-20
ATE447828T1 (de) 2009-11-15
EP2131592A1 (en) 2009-12-09
EP2254340B1 (en) 2012-01-18
KR20060040752A (ko) 2006-05-10
JP5208156B2 (ja) 2013-06-12
CN1976469A (zh) 2007-06-06
JP2009005396A (ja) 2009-01-08
EP2293577A1 (en) 2011-03-09
US20080175315A1 (en) 2008-07-24
HK1146561A1 (en) 2011-06-17
AU2003227248A1 (en) 2003-10-27
KR100987541B1 (ko) 2010-10-12
EP2254341B1 (en) 2011-10-05
US8290286B2 (en) 2012-10-16
JP5716082B2 (ja) 2015-05-13
ES2329823T3 (es) 2009-12-01
US20060269154A1 (en) 2006-11-30
TW200629910A (en) 2006-08-16
ATE312478T1 (de) 2005-12-15
EP2293578B1 (en) 2012-11-21
JP4185106B2 (ja) 2008-11-26
JP4130780B2 (ja) 2008-08-06
JP4598158B1 (ja) 2010-12-15
ATE542370T1 (de) 2012-02-15
DK1478188T3 (da) 2006-02-13
EP1478188B1 (en) 2005-12-07
DE60328837D1 (de) 2009-09-24
US20130034308A1 (en) 2013-02-07
JP4465026B2 (ja) 2010-05-19
JP2008312226A (ja) 2008-12-25
US20060239575A1 (en) 2006-10-26
US8867855B2 (en) 2014-10-21
PT2254341E (pt) 2011-10-17
EP1746841B1 (en) 2009-10-07
JP2004007506A (ja) 2004-01-08
ATE439738T1 (de) 2009-08-15
KR20100024495A (ko) 2010-03-05
JP4598159B2 (ja) 2010-12-15
HK1136730A1 (en) 2010-07-02
US20060233450A1 (en) 2006-10-19
BRPI0303566B1 (pt) 2018-02-06
KR100987548B1 (ko) 2010-10-12
CN100527839C (zh) 2009-08-12
EP2293577B1 (en) 2012-11-21
DE60329639D1 (de) 2009-11-19
KR100956920B1 (ko) 2010-05-11
EP1596608B1 (en) 2007-01-24
CA2732005A1 (en) 2003-10-23
EP1596608A3 (en) 2005-11-30
JP2011010338A (ja) 2011-01-13
JP4185560B2 (ja) 2008-11-26
US7305134B2 (en) 2007-12-04
ES2369653T3 (es) 2011-12-02
KR101227720B1 (ko) 2013-01-29
EP2254340A1 (en) 2010-11-24
CA2444357A1 (en) 2003-10-14
KR20100012103A (ko) 2010-02-05
JP5485363B2 (ja) 2014-05-07
ATE524020T1 (de) 2011-09-15
JP4653258B1 (ja) 2011-03-16
AU2003227248B2 (en) 2007-08-23
DK1596608T3 (da) 2007-03-05
EP1753246A1 (en) 2007-02-14
KR20060040753A (ko) 2006-05-10
TWI330986B (en) 2010-09-21
US8265403B2 (en) 2012-09-11
US7184598B2 (en) 2007-02-27
JP2009022039A (ja) 2009-01-29
SI1478188T1 (sl) 2006-04-30
JP2009171602A (ja) 2009-07-30
PT1744562E (pt) 2009-09-04
ES2362563T3 (es) 2011-07-07
HK1148150A1 (en) 2011-08-26
JP2008193725A (ja) 2008-08-21
CN1293762C (zh) 2007-01-03
CN1917643A (zh) 2007-02-21
DK2131593T3 (da) 2010-10-25
JP2006246499A (ja) 2006-09-14
KR101152507B1 (ko) 2012-06-01
KR20040099093A (ko) 2004-11-26
EP1744562A3 (en) 2007-02-07
JP4628499B2 (ja) 2011-02-09
KR100956926B1 (ko) 2010-05-11
ATE527819T1 (de) 2011-10-15
CA2732005C (en) 2012-12-04
US20090034616A1 (en) 2009-02-05
ATE439740T1 (de) 2009-08-15
ES2399226T3 (es) 2013-03-26
EP1750451A3 (en) 2007-02-21
BR0303566A (pt) 2004-04-20
ATE445294T1 (de) 2009-10-15
JP2011010340A (ja) 2011-01-13
WO2003088675A1 (en) 2003-10-23
KR20120091468A (ko) 2012-08-17
US20080056362A1 (en) 2008-03-06
JP4185564B2 (ja) 2008-11-26
EP1478188A1 (en) 2004-11-17
EP2239948A1 (en) 2010-10-13
ATE439739T1 (de) 2009-08-15
DE60302652T2 (de) 2006-08-10
ES2330661T4 (es) 2010-06-02
JP2008182756A (ja) 2008-08-07
CY1111971T1 (el) 2015-11-04
EP1746841A1 (en) 2007-01-24
JP4191793B1 (ja) 2008-12-03
JP2010268514A (ja) 2010-11-25
CN100527841C (zh) 2009-08-12
US7697770B2 (en) 2010-04-13
EP2131592B1 (en) 2011-10-26
JP2010093842A (ja) 2010-04-22
ES2252666T3 (es) 2006-05-16
ATE531202T1 (de) 2011-11-15
JP2013070428A (ja) 2013-04-18
MY135378A (en) 2008-04-30
JP4741716B1 (ja) 2011-08-10

Similar Documents

Publication Publication Date Title
KR100954244B1 (ko) 화상 복호화 방법

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130318

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140320

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160318

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170322

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180410

Year of fee payment: 9