KR20150039582A - 동화상 부호화 장치 및 그 동작 방법 - Google Patents

동화상 부호화 장치 및 그 동작 방법 Download PDF

Info

Publication number
KR20150039582A
KR20150039582A KR20140132559A KR20140132559A KR20150039582A KR 20150039582 A KR20150039582 A KR 20150039582A KR 20140132559 A KR20140132559 A KR 20140132559A KR 20140132559 A KR20140132559 A KR 20140132559A KR 20150039582 A KR20150039582 A KR 20150039582A
Authority
KR
South Korea
Prior art keywords
unit
quantization
coding
processing
code amount
Prior art date
Application number
KR20140132559A
Other languages
English (en)
Inventor
세이지 모찌즈끼
데쯔야 시바야마
Original Assignee
르네사스 일렉트로닉스 가부시키가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 르네사스 일렉트로닉스 가부시키가이샤 filed Critical 르네사스 일렉트로닉스 가부시키가이샤
Publication of KR20150039582A publication Critical patent/KR20150039582A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/115Selection of the code volume for a coding unit prior to 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/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)

Abstract

본 발명은 양자화부와 부호화부 사이의 중간 버퍼의 오버플로우의 위험성을 경감하여, 고정밀도의 비트 레이트 제어를 실현하는 것이다. 동화상 부호화 장치(1)의 중간 버퍼(200)는 양자화부(103)의 출력과 부호화부(201)의 입력 사이에 접속되고, 부호량 셀렉터(301)의 선택 제어 단자에 중간 버퍼(200)의 데이터 축적량의 대소의 판정 신호가 공급된다. 버퍼(200)의 데이터 축적량이 큰 경우에는, 셀렉터(301)의 제1 입력 단자에 공급되는 부호량 추정부(300)의 추정 부호량이 부호량 셀렉터(301)의 출력 단자에 출력되고, 양자화부(103)의 양자화 스케일이 조정된다. 중간 버퍼(200)의 데이터 축적량의 소의 경우에는, 부호량 셀렉터(301)의 제2 입력 단자에 공급되는 부호화부(201)로부터의 실 부호량이 셀렉터(301)의 출력 단자에 출력되고, 양자화부(103)의 양자화 스케일이 조정된다.

Description

동화상 부호화 장치 및 그 동작 방법{VIDEO ENCODER AND METHOD OF OPERATING THE SAME}
본 발명은, 동화상 부호화 장치 및 그 동작 방법에 관한 것으로, 특히 고정밀도의 비트 레이트 제어를 실현하는 데 유효한 기술에 관한 것이다.
국제 규격 ISO/IEC 13818-2에 의해 표준화된 MPEG-2의 규격에 의한 동화상(Moving Picture)의 일반적인 압축 방식은, 비디오 스트림으로부터 장황한 정보를 삭제함으로써, 비디오 기억 용량과 필요한 대역폭을 삭감한다고 하는 원리에 기초하는 것이다. 또한, MPEG는, Moving Picture Experts Group의 약칭이다.
MPEG-2의 규격은, 비트 스트림의 신택스(압축 부호화 데이터 열의 규칙 또는 부호화 데이터의 비트 스트림의 구성 방법) 및 디코드 프로세스만을 규정하고 있으므로, 위성 방송ㆍ서비스, 케이블 텔레비전, 인터랙티브 텔레비젼, 인터넷 등의 다양한 상황에서 충분히 이용 가능하도록 플렉시블한 것이다.
MPEG-2의 인코드 프로세스에서는, 최초에 디지털 비디오의 각 화소의 컬러와 휘도의 성분을 규정하기 위해, 비디오 신호는 샘플링 처리의 후, 양자화 처리가 실시된다. 컬러와 휘도의 성분을 나타내는 값은, 매크로 블록으로서 알려져 있는 구조에 축적된다. 매크로 블록에 축적된 컬러와 휘도의 성분을 나타내는 값은, 이산 코사인 변환(DCT:Discrete Cosine Transform)을 사용해서 주파수값으로 변환된다. DCT에 의해 얻어지는 주파수 변환 계수는, 픽처의 휘도와 컬러로 다른 주파수를 갖는다. 양자화된 DCT 변환 계수는, 비디오 스트림을 또한 압축하는 가변 길이 코딩(VLC:Variable Length Coding)에 의해 인코딩된다.
MPEG-2의 인코드 프로세스에서는, 움직임 압축 기술에 의한 부가 압축이 규정되어 있다. MPEG-2의 규격에서는, I 프레임, P 프레임, B 프레임의 3종류의 픽처 혹은 프레임이 존재하고 있다. I 프레임은 비디오 스트림에 있어서 다른 어떠한 픽처 또는 프레임을 참조하지 않고 재생되는, 인트라 부호화된 프레임이다. P 프레임과 B 프레임은, 다른 픽처 또는 프레임의 참조에 의해 재생되는, 인터 부호화된 프레임이다. 예를 들어, P 프레임과 B 프레임은, 참조 프레임에 관해서 움직임 추정을 나타내는 움직임 벡터를 포함한다. 움직임 벡터의 사용에 의해, MPEG 인코더는, 특정한 비디오 스트림에 필요한 대역폭의 저감이 가능하게 된다. 또한, I 프레임은 독립(intra-coded) 프레임, P 프레임은 한쪽 방향 예측(predictive-coded) 프레임, B 프레임은 양방향 예측(bi-directionally predictive-coded) 프레임이라고 불린다.
따라서, MPEG-2의 동화상 부호화 장치(Encoder)는, 부호화 메모리와 움직임 벡터 검출부와 움직임 보상부와 감산부와 DCT 변환부와 양자화부와 역양자화부와 역DCT 변환부와 프레임 메모리와 가변 길이 부호화부와 가산부에 의해 구성된다. 동화상 입력 신호는, B 프레임의 부호화나 움직임 벡터의 검출을 위해 부호화 메모리에 저장된 후에, 부호화의 순서로 프레임 메모리로부터 판독된다. 감산부에서는, 판독된 동화상 입력 신호로부터 움직임 보상부에 의해 생성되는 움직임 보상 예측 신호가 감산되고, 감산 결과인 예측 잔차(殘差)에 관해서, DCT 변환부와 양자화부에 의해 각각 DCT 변환 처리와 양자화 처리가 실행된다. 양자화된 DCT 변환 계수는, 가변 길이 부호화부에 의해 가변 길이 부호화 처리됨과 함께, 역양자화부와 역DCT 변환부에 의해 국부 복호 처리가 실행된 후에, 이 국부 복호 처리 결과는, 프레임 메모리와 움직임 보상부를 통하여 가산부에 공급된다.
한편, MPEG-2의 동화상 복호 장치(Decoder)는, 버퍼 메모리와 가변 길이 복호부와 역양자화부와 역DCT 변환부와 움직임 보상부와 가산부와 프레임 메모리에 의해 구성된다. MPEG-2의 부호화 비트 스트림은 버퍼 메모리에 축적된 후, 가변 길이 복호부와 역양자화부와 역DCT 변환부에 의해 가변 길이 복호 처리와 역양자화 처리와 역DCT 변환 처리가 각각 실행됨으로써, 예측 잔차가 생성된다. 예측 잔차와 가변 길이 복호 처리에 의해 생성되는 움직임 벡터에 따라서 프레임 메모리로부터 판독되는 참조 화상이 가산부에 의해 가산됨으로써, 가산부의 출력으로부터 재생 화상 신호가 생성된다. 이 재생 화상 신호는 프레임 메모리에 저장되고, 다른 프레임의 예측을 위한 참조 화상으로서 사용된다.
하기 비특허문헌 1에는, 디코더의 버퍼 메모리에 공급하는 비트 스트림을 인코더가 생성할 때에, 디코더의 버퍼 메모리의 오버플로우 및 언더플로우를 회피하기 위한 부호량(비트 레이트)을 달성하기 위해, 인코더의 양자화부의 양자화 스텝 사이즈를 조정하는 것이 기재되어 있다. 이 조정을 위해, 통상은 하기 비특허문헌 2에 기재와 같이 인코더의 가변 길이 부호화부의 출력을 축적하면 디코더의 버퍼 메모리 입력과의 사이에 가상적인 비디오 버퍼(VB)가 상정되고, 인코더의 양자화부의 양자화 스텝 사이즈를 조정하는 양자화 제어부가 이 가상 비디오 버퍼(VB)에 의해 피드백 제어된다. 즉, 하기 비특허문헌 2에는, 목표 부호량에 대해 실 부호량인 가상 버퍼의 충족도에 의해 인코더의 양자화부의 양자화 스케일을 피드백 제어하는 Test Model 5라고 불리는 MPEG 부호화 제어의 양자화부에서의 양자화 스케일의 비트 레이트 제어가 기재되어 있다.
하기 특허문헌 1의 도 1에는, 국제 규격 ISO/IEC 14496-10에 의해 표준화된 MPEG-4 AVC(H.264)의 규격에 대응하는 CABAC(Context-Adaptive Binary Arithmetic Coding:컨텍스트 적응형 2치 산술 부호화 방식)의 엔트로피 부호화(가변 길이 부호화)를 실행하는 동화상 부호화 장치가 기재되어 있다. 이 동화상 부호화 장치는 예측 부호화부와 산술 부호화부와 버퍼에 의해 구성되어 있다. 예측 부호화부가 예측값을 사용해서 동화상 입력 신호를 부호화 처리한 후, 산술 부호화부는, 각 신택스 요소를 CABAC에 의해 부호화 처리한 부호화 데이터를 버퍼에 축적한다. 예측 부호화부는, 감산부와 직교 변환부와 양자화부와 역양자화부와 역직교 변환부와 프레임 메모리와 움직임 보상부에 의해 구성되고, 산술 부호화부는 2치화부와 2치화 버퍼와 컨텍스트 계산부와 2치 산술 부호화부에 의해 구성된다. 예측 부호화부의 양자화부는 양자화부의 양자화 스케일을 제어하는 레이트 제어부와 접속되고, 이 레이트 제어부에는 버퍼의 버퍼 점유량의 정보와 2치화 버퍼의 버퍼 점유량의 정보가 공급된다. 산술 부호화부의 2치화부는 다치의 신택스 요소를 2치화하여, 가변 길이의 2치화 심볼 계열을 생성한다. 2치화부는 2치화 심볼 계열의 2치 데이터량을, 매크로 블록 단위로 누적 가산한다. 부호량 예측부는 산술 부호화부의 2치화부에 접속되고, 2치화부의 누적 가산 결과가 공급된다. 부호량 예측부는 소정의 예측 함수를 사용해서 2치 데이터량의 누적 가산으로부터 버퍼의 부호화 데이터의 비트량의 예측값을 계산하고, 예측 부호화부의 양자화부에 공급하여, 양자화부의 양자화 스케일이 제어된다. 리얼 타임으로 동화상 입력 신호를 부호화 처리하는 종래의 동화상 부호화 장치에 있어서는, 산술 부호화부의 처리에는 다대한 연산량을 필요로 하기 때문에, 산술 부호화부의 구성이 복잡해져, 회로 규모와 소비 전력이 증대하게 된다. 하기 특허문헌 1은, 예측 함수의 사용에 의해 구성의 간소화와, 회로 규모와 소비 전력의 저감이 가능하다고 기재되어 있다.
하기 특허문헌 2의 도 1에는 컨텍스트 적응형 2치 산술 부호화 방식(CABAC)에 의한 가변 길이 부호화를 실행하는 동화상 부호화 장치이며, 응답성이 높은 레이트 제어를 실현하기 위해, 동화상에 관한 데이터의 산술 부호화 전의 데이터를 부호량 추정부에 공급하고, 부호량 추정부로부터 생성되는 추정 부호량을 레이트 제어 판정부에 공급하여, 양자화부의 양자화 스텝을 제어하는 것이 기재되어 있다. 예를 들어, 동화상에 관한 데이터의 산술 부호화 전의 데이터는 예측 처리부로부터의 잔차 신호와, DCT 변환부로부터의 DCT 계수와, 양자화부로부터의 양자화 계수와, CABAC 처리부로부터의 2치 데이터 중 어느 하나이어도 좋다고 기재되어 있다.
하기 특허문헌 3에는, 컨텍스트 적응형 2치 산술 부호화 방식(CABAC)에 있어서, 부호화량의 취득에 지연이 생겨 레이트 제어가 파탄되어 버리는 것을 방지하기 위해, 추정 부호량에 의한 레이트 제어에 있어서, 실제의 부호량과 추정 부호량 사이에 생기는 오차를, 최소한으로 경감하는 기술이 기재되어 있다. 그로 인해, 하기 특허문헌 3의 도 10에 기재된 동화상 부호화 장치는, 동화상 압축부와 CABAC 처리부와 부호량 추정부와 추정 부호량 치환부와 레이트 제어 판정부에 의해 구성되어 있다. 입력 영상 신호는 양자화부를 포함하는 동화상 압축부에 공급되고, 동화상 압축부로부터의 출력 신호는 2치화부와 산술 부호화부를 포함하는 CABAC 처리부에 공급된다. CABAC 처리부의 2치화부의 출력 신호는 부호량 추정부의 입력 단자에 공급되고, 부호량 추정부로부터의 추정 부호량은 추정 부호량 치환부의 누적 추정 부호량 계산부에 의해 누적 가산된다. CABAC 처리부의 산술 부호화부에 의해 가변 길이 부호화된 부호화 열의 비트량인 실 부호량은, 추정 부호량 치환부의 누적 부호량 계산부에 의해 누적 가산된다. 추정 부호량 치환부에 의해, 누적 추정 부호량 계산부의 누적 추정 부호량은 누적 부호량 계산부의 누적 실 부호량으로 치환된다. 추정 부호량 치환부로부터의 출력 신호가 레이트 제어 판정부에 공급되고, 레이트 제어 판정부로부터의 출력 신호에 의해 동화상 압축부의 양자화부의 양자화 스텝이 제어된다.
일본 특허 공개 제2009-055384호 공보 일본 특허 공개 제2007-158430호 공보 일본 특허 공개 제2009-038746호 공보
T.Sikora, Digital Consummer Electronics Handbook, chapter MPEG-1 and MPEG-2 Digital Coding Standards, McGraw-Hill, 1997. 항가이 세이이치로, 스기야마 겐지 공저자 「JPEGㆍMPEG 완전 이해」, PP.144-153 가부시끼가이샤 코로나사 2006년 7월 30일 초판 제2쇄 발행.
본 발명자들은 본 발명에 앞서, 규격 H.264/MPEG-4 AVC의 후속 규격으로서의 신규격 H.265(ISO/IEC23008-2)에 준거하여, 동화상 입력 신호의 부호화에 의해 부호화 비트 스트림을 생성하는 것이 가능한 동화상 부호화 장치(Video Encoder)의 개발에 종사한 것이다. 또한, 이 동화상 부호화 장치는 신규격 H.265뿐만 아니라, 현행 규격 H.264/MPEG-4 AVC에 준거하여 동화상 입력 신호를 부호화하는 것도 요구된 것이다.
이 신규격은, 비공식적으로는 HEVC(High Efficiency Video Coding)라고 불리고, 블록 사이즈의 적정화 등에 의해 압축 효율이 우수한 것이며, MPEG-2의 규격에 비교해서 약 4배, 규격 H.264/AVC에 비교해서 약 2배의 압축 성능을 갖는다고 되어 있다. 디지털 HDTV(High Definition Television) 방송 수신기나, HDTV 신호를 촬영 가능한 디지털 비디오 카메라 등에서의 화상 사이즈의 대화면화에 수반하여, 동화상 부호화 장치나 동화상 복호 장치에는 더 높은 처리 성능이 요구되어 있고, HEVC의 규격은 이들 요구를 충족하는 것으로 기대되어 있다.
한편, 최근, 고정밀 HD(High Definition)의 화소 사이즈인 1920 화소×1080 화소의 크기 약 4배의 4096 화소×2160 화소 또는 3840 화소×2160 화소의 크기의 표시 장치를 갖는 4KTV가 주목받고 있다. 예를 들어, 일본에서는 2014년 7월부터, 4K 텔레비전 방송을 개시한다는 총무성의 방침이 발표되어 있다. 이와 같이, 4KTV의 표시 장치의 표시 화면에 상당하는 1매의 프레임(픽처)의 동화상 신호의 부호화 또는 복호를 실행하는 동화상 부호화 장치 또는 동화상 복호 장치에도, 높은 처리 성능이 요구된다.
한편, HEVC의 규격도, 규격 H.264/MPEG-4 AVC를 답습해서 가변 길이 부호화(엔트로피 부호화)에 컨텍스트 적응형 2치 산술 부호화 방식(CABAC)의 방법을 채용하는 것이다. 그러나, 이 컨텍스트 적응형 2치 산술 부호화 방식(CABAC)의 채용에 의해, CABAC 처리에서 발생하는 부호화량의 취득에 지연이 생기므로, 상기 특허문헌 3에 기재와 같이, 추정 부호량에 의한 레이트 제어를 채용해도, 실제의 부호량과 추정 부호량의 오차가 발생하는 것이다. 한편, 본 발명에 앞서, 본 발명자들이 동화상 부호화 장치(Video Encoder)의 가변 길이 부호화(엔트로피 부호화)에 컨텍스트 적응형 2치 산술 부호화 방식(CABAC)의 방법을 채용하는 것을 검토한 결과, 양자화부의 처리 성능과 가변 길이 부호화 처리부로서의 CABAC 처리부의 처리 성능 사이에서, 처리 속도가 다르다고 하는 문제에 조우했다.
즉, 양자화부의 처리 성능은 양자화 속도에 의해 규정되고, 1 사이클당, 수 화소분 또는 수 매크로 블록분의 주파수 변환 계수를 양자화할 수 있다고 하는 성능이다.
한편, 컨텍스트 적응형 2치 산술 부호화 방식(CABAC)에 의한 부호화 처리부는, 2치화부와 2치 산술 부호화부와 컨텍스트 계산부를 포함한다. 2치화부는 다치 입력 신호로부터 2치 신호를 생성하여, 2치 신호는 2치 산술 부호화부에 의해 부호화 비트 열로 부호화된다. 컨텍스트 계산부는 부호화 대상 심볼인 2치 신호의 발생 확률 모델을, 근방 심볼의 상황에 따라서 동적으로 계산ㆍ갱신한다. 2치 산술 부호화부는 컨텍스트 계산부에 의해 계산ㆍ갱신된 발생 확률 모델에 따라서, 2치 신호를 부호화 비트 열로 부호화한다. 그 결과, CABAC 처리부에서의 부호화 처리는, 1 사이클당 부호화 비트 열의 1 비트를 출력하는 1 비트 단위의 순서대로 출력 처리가 된다. 가변 길이 부호화의 성질상, 화소 또는 매크로 블록당의 부호화 비트수는 일정하지 않으므로, CABAC 처리부의 화소 또는 매크로 블록당의 처리 시간은 크게 변동하게 된다.
그 결과, 일정 시간에 양자화부가 처리한 복수의 화소 또는 복수의 매크로 블록을, 동일한 일정 시간 내에 CABAC 처리부가 처리할 수 없는 경우가 있다. 따라서, 양자화부의 처리 속도와 CABAC 처리부의 처리 속도 사이의 차이를 흡수하기 위해서는, 양자화부와 CABAC 처리부 사이에 중간 버퍼 메모리를 접속하는 것이 필요해진다. 그 결과, CABAC 처리부와 비동기 동작 방식과 중간 버퍼 메모리를 사용한 동화상 부호화 장치에 있어서는, CABAC 처리부의 출력 부분에서의 실제의 부호량의 취득 타이밍은, CABAC 처리부의 입력 부분의 양자화부에서의 추정 부호량의 취득 타이밍과 비교해서 현저하게 지연되게 된다. 따라서, CABAC 처리부의 출력 부분에서의 실제의 부호량에만 응답하여 양자화부의 양자화 스케일의 제어를 실행하면, 지연 시간 동안에 제어되는 실제의 비트 레이트의 목표 비트 레이트로부터의 괴리가 커진다고 하는 위험성이 있다. 한편, CABAC 처리부의 입력 부분으로부터 얻어지는 추정 부호량에만 응답하여 양자화부의 양자화 스케일의 제어를 실행하면, 제어 지연은 경감되지만, 실제의 부호량에 의한 제어와 비교하여, 추정 부호량에 의한 제어는 오차가 커진다. 따라서, 실제의 부호량에 의한 제어 혹은 추정 부호량에 의한 제어 중 어느 하나를 사용해도 고정밀도의 비트 레이트 제어가 실현될 수 없다고 하는 문제가, 본 발명에 앞선 본 발명자들에 의한 검토에 의해 명백하게 되었다.
한편, 현행의 규격 H.264/MPEG-4 AVC에 준거하여 동화상 입력 신호를 부호화하기 위해서는, 가변 길이 부호화(엔트로피 부호화)에 컨텍스트 적응형 2치 산술 부호화 방식(CABAC)뿐만 아니라, CAVLC(Context-Adaptive Variable Length Coding:컨텍스트 적응형 가변 길이 부호화 방식)라고 불리는 방법의 채용이 필요해진다. 잘 알려져 있는 바와 같이, 이 컨텍스트 적응형 가변 길이 부호화 방식(CAVLC)은 양자화된 DCT 계수값의 부호화에만 사용되고, 양자화된 DCT 계수값을 지그재그ㆍ스캔에 의해 1차원의 벡터로 변환한 후에, 복호에 필요한 정보를 부호화하는 것이다. 즉, 복호에 필요한 정보는, 비제로 계수치(level), 비제로 계수의 개수(Total Coeff), 비제로 계수 전의 제로 개수(run_before), 최후의 비제로 계수 전의 제로 개수(total_zeros), 최후에 연속되는 절대값 1의 계수의 개수(Trailing Ones) 및 그 부호(Trailing_one_sign_flag)이다. 컨텍스트 적응형 가변 길이 부호화 방식(CAVLC)은 계수당의 처리 시간을 일정하게 하는 구성이 가능하므로, 화소 또는 매크로 블록당의 처리 시간의 상한을 일정하게 하는 것이 가능하고, CAVLC 처리부의 출력 부분에서의 실제의 부호량의 취득 타이밍은, CAVLC 처리부의 입력 부분으로부터 얻어지는 추정 부호량의 취득 타이밍과 비교해서, 처리 시간 상한값 이상으로 지연되는 일은 없다. 그러나, 동화상 부호화 장치(Video Encoder)의 저소비 전력화를 위해, CAVLC 처리부의 동작 클럭의 주파수를, 양자화부의 동작 클럭의 주파수보다도 낮게 한다고 하는 전력 절약 아키텍쳐가 채용된 경우를 상정한다. 이 경우에는, 양자화부와 CAVLC 처리부 사이의 처리 성능의 차이를 흡수하기 위해서는, 양자화부와 CAVLC 처리부 사이에 중간 버퍼 메모리를 접속하여, 양자화부와 CAVLC 처리부를 비동기로 동작시키는 것이 필요해진다. 그 결과, CAVLC 처리부와 비동기 동작 방식과 중간 버퍼 메모리를 사용한 동화상 부호화 장치에 있어서는, CAVLC 처리부의 출력 부분에서의 실제의 부호량의 취득 타이밍은, CAVLC 처리부의 입력 부분의 양자화부에서의 추정 부호량의 취득 타이밍과 비교해서, 현저하게 지연되게 된다. 따라서, CAVLC 처리부의 출력 부분에서의 실제의 부호량에만 응답하여 양자화부의 양자화 스케일의 제어를 실행하면, 지연 시간 동안에 제어되는 실제의 비트 레이트의 목표 비트 레이트로부터의 괴리가 커진다고 하는 위험성이 있다. 한편, CAVLC 처리부의 입력 부분으로부터 얻어지는 추정 부호량에만 응답하여 양자화부의 양자화 스케일의 제어를 실행하면, 제어 지연은 경감되지만, 실제의 부호량에 의한 제어와 비교해서, 추정 부호량에 의한 제어는 오차가 커진다. 따라서, 실제의 부호량에 의한 제어 또는 추정 부호량에 의한 제어 중 어느 하나를 사용해도 고정밀도의 비트 레이트 제어가 실현할 수 없다고 하는 문제가, 본 발명에 앞선 본 발명자들에 의한 검토에 의해 명백하게 되었다.
이와 같은 과제를 해결하기 위한 수단 등을 이하에 설명하지만, 그 밖의 과제와 신규의 특징은, 본 명세서의 기술 및 첨부 도면으로부터 명백하게 될 것이다.
본원에 있어서 개시되는 대표적인 실시 형태의 개요를 간단하게 설명하면, 하기와 같다.
즉, 대표적인 실시 형태에 따른 동화상 부호화 장치(1)에서는, 중간 버퍼(200)는 양자화부(103)의 출력 단자와 부호화부(201)의 입력 단자 사이에 접속된다.
부호량 추정부(300)의 입력 단자는 양자화부(103)의 출력 단자에 접속되고, 부호량 추정부(300)의 출력 단자로부터 생성되는 추정 부호량이 부호량 셀렉터(301)의 제1 입력 단자에 공급되고, 부호량 셀렉터(301)의 제2 입력 단자에는 부호화부(201)에 의해 부호화되는 압축 비디오 비트 스트림(CVBS)의 실 부호량이 공급된다.
부호량 셀렉터(301)의 선택 제어 단자에는, 중간 버퍼(200)의 데이터 축적량이 큰지 작은지의 판정 신호가 공급되어, 부호량 셀렉터(301)의 출력 단자는 레이트 컨트롤러(302)의 입력 단자에 접속되고, 레이트 컨트롤러(302)의 출력 신호는 양자화부(103)의 양자화 스케일을 조정한다.
판정 신호가 중간 버퍼(200)의 데이터 축적량이 큰 것을 나타내는 경우에는, 부호량 셀렉터(301)의 제1 입력 단자에 공급되는 부호량 추정부(300)로부터의 추정 부호량이 부호량 셀렉터(301)의 출력 단자에 출력되고, 양자화부(103)의 양자화 스케일이 추정 부호량에 의해 조정된다.
판정 신호가 중간 버퍼(200)의 데이터 축적량이 작은 것을 나타내는 경우에는, 부호량 셀렉터(301)의 제2 입력 단자에 공급되는 부호화부(201)로부터의 실 부호량이 부호량 셀렉터(301)의 출력 단자에 출력되고, 양자화부(103)의 양자화 스케일이 실 부호량에 의해 조정되는 것을 특징으로 한다(도 1 참조).
본원에 있어서 개시되는 실시 형태 중 대표적인 것에 의해 얻어지는 효과를 간단하게 설명하면, 하기와 같다.
즉, 본 동화상 부호화 장치(1)에 의하면, 고정밀도의 비트 레이트 제어를 실현할 수 있다.
도 1은 제1 실시 형태에 따른 동화상 부호화 장치(1)의 구성을 도시하는 도면이다.
도 2는 도 1에 도시한 제1 실시 형태에 따른 동화상 부호화 장치(1)의 부호화 처리부(20)에 포함된 가변 길이 부호화부(201)의 구성을 도시하는 도면이다.
도 3은 제2 실시 형태에 따른 동화상 부호화 장치(1)의 주요부의 구성을 도시하는 도면이다.
도 4는 제3 실시 형태에 따른 동화상 부호화 장치(1)의 주요부의 구성을 도시하는 도면이다.
도 5는 도 3에 도시한 제2 실시 형태에 따른 동화상 부호화 장치(1)의 양자화부(103)와 가변 길이 부호화부(201) 사이에 접속되어 있었던 프리 버퍼(205)를 생략한 다른 실시 형태에 따른 동화상 부호화 장치(1)의 구성을 도시하는 도면이다.
1. 실시 형태의 개요
우선, 본원에 있어서 개시되는 대표적인 실시 형태에 대해 그 개요를 설명한다. 대표적인 실시 형태의 개요 설명에서 괄호를 부여해서 참조하는 도면의 참조 부호는, 그것이 부여된 구성 요소의 개념에 포함되는 것을 예시하는 것에 지나지 않는다.
〔1〕대표적인 실시 형태에 따른 동화상 부호화 장치(1)는, 주파수 변환부(102)와 양자화부(103)와 부호화부(201)와 중간 버퍼(200)와 부호량 추정부(300)와 부호량 셀렉터(301)와 레이트 컨트롤러(302)를 구비한다.
상기 주파수 변환부(102)는 입력 신호의 주파수 변환 처리를 실행한다.
상기 양자화부(103)는, 상기 주파수 변환부(102)의 상기 주파수 변환 처리의 결과에 관해서, 양자화 처리를 실행한다.
상기 부호화부(201)가 상기 양자화부(103)의 상기 양자화 처리의 결과에 관해서 부호화 처리를 실행함으로써, 상기 부호화부(201)로부터 압축 비디오 비트 스트림(CVBS)이 생성된다.
상기 중간 버퍼(200)는, 상기 양자화부(103)의 출력 단자와 상기 부호화부(201)의 입력 단자 사이에 접속된다.
상기 부호량 추정부(300)의 입력 단자는 상기 양자화부(103)의 상기 출력 단자에 접속되고, 상기 부호량 추정부(300)의 출력 단자로부터 생성되는 추정 부호량이 상기 부호량 셀렉터(301)의 제1 입력 단자에 공급된다.
상기 부호량 셀렉터(301)의 제2 입력 단자에는, 상기 부호화부(201)에 의해 부호화되는 상기 압축 비디오 비트 스트림(CVBS)의 실 부호량이 공급된다.
상기 부호량 셀렉터(301)의 선택 제어 단자에는, 상기 중간 버퍼(200)의 데이터 축적량이 큰지 작은지의 판정 신호가 공급된다.
상기 부호량 셀렉터(301)의 출력 단자는 상기 레이트 컨트롤러(302)의 입력 단자에 접속되고, 상기 레이트 컨트롤러(302)의 출력 신호는 상기 양자화부(103)의 양자화 스케일을 조정한다.
상기 판정 신호가 상기 중간 버퍼(200)의 상기 데이터 축적량이 큰 것을 나타내는 경우에는, 상기 부호량 셀렉터(301)의 상기 제1 입력 단자에 공급되는 상기 부호량 추정부(300)로부터의 상기 추정 부호량이 상기 부호량 셀렉터(301)의 상기 출력 단자에 출력되고, 상기 양자화부(103)의 상기 양자화 스케일이 상기 추정 부호량에 의해 조정된다.
상기 판정 신호가 상기 중간 버퍼(200)의 상기 데이터 축적량이 작은 것을 나타내는 경우에는, 상기 부호량 셀렉터(301)의 상기 제2 입력 단자에 공급되는 상기 부호화부(201)로부터의 상기 실 부호량이 상기 부호량 셀렉터(301)의 상기 출력 단자에 출력되고, 상기 양자화부(103)의 상기 양자화 스케일이 상기 실 부호량에 의해 조정되는 것을 특징으로 하는 것이다(도 1 참조).
상기 실시 형태에 따르면, 상기 부호화부의 처리 지연이 큰 경우는 상기 추정 부호량이 사용되고, 또한 상기 부호화부의 처리 지연이 작은 경우는 상기 실 부호량이 사용되게 되어, 고정밀도의 비트 레이트 제어를 실현할 수 있다.
적합한 실시 형태에서는, 상기 부호화부(201)는, 산술 부호화 방식(CABAC)과 가변 길이 부호화 방식(CAVLC) 중 적어도 어느 한쪽에 의한 부호화 처리를 실행하는 것을 특징으로 하는 것이다(도 1 참조).
다른 적합한 실시 형태에서는, 상기 부호화부(201)가 상기 산술 부호화 방식(CABAC)에 의한 부호화 처리를 실행할 때에, 상기 중간 버퍼(200)는, 상기 양자화부(103)의 상기 양자화 처리의 처리 속도와 상기 부호화부(201)의 상기 산술 부호화 방식(CABAC)에 의한 상기 부호화 처리의 처리 속도의 차이를 흡수하는 것이다.
상기 부호화부(201)가 상기 가변 길이 부호화 방식(CAVLC)에 의한 부호화 처리를 실행할 때에, 상기 중간 버퍼(200)는, 상기 양자화부(103)의 상기 양자화 처리의 처리 속도와 상기 부호화부(201)의 상기 가변 길이 부호화 방식(CAVLC)에 의한 상기 부호화 처리의 처리 속도의 차이를 흡수하는 것을 특징으로 한다(도 1 참조).
또 다른 적합한 실시 형태에서는, 상기 중간 버퍼(200)의 상기 데이터 축적량이 큰지 작은지의 판정은, 상기 데이터 축적량이 소정의 임계값보다도 큰지, 혹은 상기 데이터 축적량이 상기 소정의 임계값보다도 작은지를 판정함으로써 실행되는 것을 특징으로 한다(도 1 참조).
보다 적합한 실시 형태에서는, 상기 부호화부(201)는, 지수 골롬(Golomb) 부호화부(2011)와 가변 길이 부호화 처리부(2012)와 산술 부호화 처리부(2013)를 포함한다.
상기 지수 골롬 부호화부(2011)는 부호화해야 할 신택스 요소를, 프리픽스(prefix)와 세퍼레이터와 서픽스(suffix)를 포함하는 지수 골롬 부호로 부호화하는 것이다.
상기 가변 길이 부호화 처리부(2012)는, 상기 양자화부(103)에 의해 양자화 처리된 상기 주파수 변환부(102)의 상기 주파수 변환 처리의 상기 결과를 지그재그ㆍ스캔에 의해 1차원의 벡터로 변환한 후에, 상기 가변 길이 부호화 방식(CAVLC)에 의한 상기 부호화 처리를 실행하는 것이다.
상기 산술 부호화 처리부(2013)는, 2치화부(20131)와 2치 산술 부호화부(20132)와 컨텍스트 계산부(20133)에 의해 구성된다.
상기 2치화부(20131)는 다치 입력 신호로부터 2치 신호를 생성하여, 상기 2치 신호는 상기 2치 산술 부호화부(20132)에 의해 부호화 비트 열로 부호화된다.
상기 컨텍스트 계산부(20133)는, 부호화 대상 심볼인 상기 2치 신호의 발생 확률 모델을 근방 심볼의 상황에 따라서 동적으로 계산ㆍ갱신하고, 상기 2치 산술 부호화부(20132)는, 상기 컨텍스트 계산부(20133)에 의해 계산ㆍ갱신된 상기 발생 확률 모델에 따라서 상기 2치 신호를 상기 부호화 비트 열로 부호화하는 것을 특징으로 하는 것이다(도 2 참조).
다른 보다 적합한 실시 형태에서는, 상기 중간 버퍼(20134)는, 상기 산술 부호화 처리부(2013)의 내부에서 상기 2치화부(20131)와 상기 2치 산술 부호화부(20132) 사이에 접속된 것을 특징으로 하는 것이다(도 3 참조).
또 다른 보다 적합한 실시 형태에서는, 상기 부호량 셀렉터(301)의 상기 제2 입력 단자에는, 상기 산술 부호화 처리부(2013)의 상기 2치 산술 부호화부(20132)의 실 부호량이 공급되는 것을 특징으로 하는 것이다(도 3 참조).
다른 보다 적합한 실시 형태에 따른 동화상 부호화 장치(1)는, 제1 카운터(114)와 제2 카운터(304)와 셀렉터 컨트롤러(303)를 더 구비한다.
상기 제1 카운터(114)는, 상기 양자화부(103)에 의해 양자화 처리되는 부호화 처리 단위인 화상 블록의 번호를 카운트함으로써, 제1 카운트값을 유지한다.
상기 제2 카운터(304)는, 상기 부호화부(201)에 의해 부호화 처리되는 부호화 처리 단위인 화상 블록의 번호를 카운트함으로써, 제2 카운트값을 유지한다.
상기 셀렉터 컨트롤러(303)는, 상기 제1 카운터(114)의 상기 제1 카운트값과 상기 제2 카운터(304)의 상기 제2 카운트값의 차를 판정한다.
상기 제1 카운터(114)의 상기 제1 카운트값과 상기 제2 카운터(304)의 상기 제2 카운트값의 상기 차가 큰 경우에는, 상기 셀렉터 컨트롤러(303)는, 상기 부호화부(201)의 처리 지연 또는 상기 중간 버퍼(200)의 상기 데이터 축적량이 크다고 판정한다.
상기 제1 카운터(114)의 상기 제1 카운트값과 상기 제2 카운터(304)의 상기 제2 카운트값의 상기 차가 작은 경우에는, 상기 셀렉터 컨트롤러(303)는, 상기 부호화부(201)의 처리 지연 또는 상기 중간 버퍼(200)의 상기 데이터 축적량이 작다고 판정하는 것을 특징으로 하는 것이다(도 4 참조).
또 다른 보다 적합한 실시 형태에서는, 상기 양자화부(103)에서 양자화 처리되는 상기 부호화 처리 단위의 상기 화상 블록과 상기 부호화부(201)에서 부호화 처리되는 상기 부호화 처리 단위의 상기 화상 블록은, 휘도 성분으로 16 화소×16 화소의 사이즈를 갖는 매크로 블록인 것을 특징으로 하는 것이다.
구체적인 실시 형태에서는, 상기 양자화부(103)에서 양자화 처리되는 상기 부호화 처리 단위의 상기 화상 블록과 상기 부호화부(201)에서 부호화 처리되는 상기 부호화 처리 단위의 상기 화상 블록은, 플렉시블한 블록 구조인 코딩 유닛(CU)이다.
상기 코딩 유닛(CU)은 64 화소×64 화소의 사이즈의 최대 코딩 유닛(LCU)으로부터 적응적으로 분할 가능한 블록인 것을 특징으로 하는 것이다.
다른 구체적인 실시 형태에 따른 동화상 부호화 장치(1)는, 움직임 벡터 검출부(109)와 움직임 보상부(110)와 감산기(101)와 역양자화부(104)와 역주파수 변환부(105)와 메모리(108, 111)와 인트라 예측부(112)와 예측 셀렉터부(113)를 더 구비한다.
상기 움직임 벡터 검출부(109)는 부호화해야 할 동화상 신호(VS)와 상기 메모리(108)에 저장된 참조 화상으로부터 움직임 벡터(MV)를 생성한다.
상기 움직임 보상부(110)는, 상기 움직임 벡터 검출부(109)로부터 생성되는 상기 움직임 벡터(MV)와 상기 메모리(108)에 저장된 상기 참조 화상에 응답하여 움직임 보상 예측 신호를 생성한다.
상기 감산기(101)의 한쪽 입력 단자에는 상기 동화상 신호(VS)가 공급되고, 상기 감산기(101)의 다른 쪽 입력 단자에는 상기 움직임 보상부(110)로부터 생성되는 상기 움직임 보상 예측 신호가 공급되고, 상기 감산기(101)의 출력 단자로부터 예측 잔차가 생성된다.
상기 감산기(101)의 상기 출력 단자로부터 생성되는 상기 예측 잔차가, 상기 주파수 변환 처리의 상기 입력 신호로서 상기 주파수 변환부(102)의 입력 단자에 공급된다.
상기 양자화부(103)의 상기 양자화 처리의 결과는, 상기 역양자화부(104)와 상기 역주파수 변환부(105)에 의해 국부 복호 처리가 실행되고, 상기 국부 복호 처리의 결과는 상기 참조 화상으로서 상기 메모리(108)에 저장된다.
상기 역양자화부(104)와 상기 역주파수 변환부(105)에 의해 실행되는 상기 국부 복호 처리의 상기 결과는, 인트라 참조 화상으로서 상기 메모리(111)에 저장된다.
상기 동화상 신호(VS)가 상기 인트라 예측부(112)의 한쪽 입력 단자에 공급되고, 상기 메모리(111)에 저장된 상기 인트라 참조 화상이 상기 인트라 예측부(112)의 다른 쪽 입력 단자에 공급됨으로써, 상기 인트라 예측부(112)는 상기 한쪽 입력 단자에 공급되는 상기 동화상 신호(VS)에 관한 인트라 예측 신호를 생성한다.
상기 예측 셀렉터부(113)는 상기 움직임 보상부(110)로부터 생성되는 상기 움직임 보상 예측 신호와 상기 인트라 예측부(112)로부터 생성되는 상기 인트라 예측 신호 중 어느 하나의 예측 신호를 선택하고, 상기 감산기(101)의 상기 다른 쪽 입력 단자에 선택한 상기 예측 신호를 공급하는 것을 특징으로 한다(도 1, 도 4 참조).
보다 구체적인 실시 형태에서는, 상기 주파수 변환부(102)와 상기 양자화부(103)와 상기 부호화부(201)와 상기 중간 버퍼(200)와 상기 부호량 추정부(300)와 상기 부호량 셀렉터(301)와 상기 레이트 컨트롤러(302)는, 반도체 집적 회로의 1개의 반도체 칩에 집적화된 것이다.
다른 보다 구체적인 실시 형태에서는, 상기 움직임 벡터 검출부와 상기 움직임 보상부와 상기 감산기와 상기 역양자화부와 상기 역주파수 변환부와 상기 부호화부와 상기 인트라 예측부와 상기 예측 셀렉터부는, 상기 반도체 집적 회로의 상기 1개의 반도체 칩에 또한 집적화된 것을 특징으로 한다.
가장 구체적인 실시 형태에 따른 동화상 부호화 장치(1)는, 규격 H.264와 규격 H.265로부터 임의로 선택된 방식에 준거하여 상기 동화상 신호(VS)를 부호화 처리함으로써, 상기 압축 비디오 비트 스트림(CVBS)을 생성하는 것을 특징으로 하는 것이다.
〔2〕다른 관점의 대표적인 실시 형태는, 주파수 변환부(102)와 양자화부(103)와 부호화부(201)와 중간 버퍼(200)와 부호량 추정부(300)와 부호량 셀렉터(301)와 레이트 컨트롤러(302)를 구비하는 동화상 부호화 장치(1)의 동작 방법이다.
상기 주파수 변환부(102)는 입력 신호의 주파수 변환 처리를 실행한다.
상기 양자화부(103)는, 상기 주파수 변환부(102)의 상기 주파수 변환 처리의 결과에 관해서, 양자화 처리를 실행한다.
상기 부호화부(201)가 상기 양자화부(103)의 상기 양자화 처리의 결과에 관해서 부호화 처리를 실행함으로써, 상기 부호화부(201)로부터 압축 비디오 비트 스트림(CVBS)이 생성된다.
상기 중간 버퍼(200)는, 상기 양자화부(103)의 출력 단자와 상기 부호화부(201)의 입력 단자 사이에 접속된다.
상기 부호량 추정부(300)의 입력 단자는 상기 양자화부(103)의 상기 출력 단자에 접속되고, 상기 부호량 추정부(300)의 출력 단자로부터 생성되는 추정 부호량이 상기 부호량 셀렉터(301)의 제1 입력 단자에 공급된다.
상기 부호량 셀렉터(301)의 제2 입력 단자에는, 상기 부호화부(201)에 의해 부호화되는 상기 압축 비디오 비트 스트림(CVBS)의 실 부호량이 공급된다.
상기 부호량 셀렉터(301)의 선택 제어 단자에는, 상기 중간 버퍼(200)의 데이터 축적량이 큰지 작은지의 판정 신호가 공급된다.
상기 부호량 셀렉터(301)의 출력 단자는 상기 레이트 컨트롤러(302)의 입력 단자에 접속되고, 상기 레이트 컨트롤러(302)의 출력 신호는 상기 양자화부(103)의 양자화 스케일을 조정한다.
상기 판정 신호가 상기 중간 버퍼(200)의 상기 데이터 축적량이 큰 것을 나타내는 경우에는, 상기 부호량 셀렉터(301)의 상기 제1 입력 단자에 공급되는 상기 부호량 추정부(300)로부터의 상기 추정 부호량이 상기 부호량 셀렉터(301)의 상기 출력 단자에 출력되고, 상기 양자화부(103)의 상기 양자화 스케일이 상기 추정 부호량에 의해 조정된다.
상기 판정 신호가 상기 중간 버퍼(200)의 상기 데이터 축적량이 작은 것을 나타내는 경우에는, 상기 부호량 셀렉터(301)의 상기 제2 입력 단자에 공급되는 상기 부호화부(201)로부터의 상기 실 부호량이 상기 부호량 셀렉터(301)의 상기 출력 단자에 출력되고, 상기 양자화부(103)의 상기 양자화 스케일이 상기 실 부호량에 의해 조정되는 것을 특징으로 하는 것이다(도 1 참조).
상기 실시 형태에 따르면, 상기 부호화부의 처리 지연이 큰 경우는 상기 추정 부호량이 사용되고, 또한 상기 부호화부의 처리 지연이 작은 경우는 상기 실 부호량이 사용되게 되어, 고정밀도의 비트 레이트 제어를 실현할 수 있다.
2. 실시 형태의 상세
다음에, 실시 형태에 대해 더욱 상세하게 설명한다. 또한, 발명을 실시하기 위한 구체적인 내용을 설명하기 위한 전체 도면에서, 상기한 도면과 동일한 기능을 갖는 부품에는 동일한 부호를 부여하여, 그 반복 설명은 생략한다.
[제1 실시 형태]
《제1 실시 형태의 동화상 부호화 장치의 구성》
도 1은, 제1 실시 형태에 따른 동화상 부호화 장치(1)의 구성을 도시하는 도면이다. 이 제1 실시 형태에 따른 동화상 부호화 장치(1)는, 현행 규격 H.264/MPEG-4 AVC와 신규격 H.265로부터 임의로 선택된 방식에 준거하여 동화상 입력 신호(VS)를 부호화하도록 구성된 것이다.
도 1에 도시한 제1 실시 형태에 따른 동화상 부호화 장치(1)는, 예측 부호화부(10)와 부호화 처리부(20)와 레이트 제어부(30)와 비디오 버퍼(40)를 구비한다.
예측 부호화부(10)는 비디오 입력 버퍼(100)와 감산기(101)와 주파수 변환부(102)와 양자화부(103)와 역양자화부(104)와 역주파수 변환부(105)와 가산기(106)와 필터 유닛(107)과 프레임 메모리(108)와 움직임 벡터 검출부(109)와 움직임 보상부(110)와 버퍼 메모리(111)와 인트라 예측부(112)와 셀렉터부(113)에 의해 구성된다.
부호화 처리부(20)는 중간 버퍼 메모리(200)와 가변 길이 부호화부(201)에 의해 구성된다.
레이트 제어부(30)는 부호량 추정부(300)와 셀렉터(301)와 레이트 컨트롤러(302)에 의해 구성된다.
《동화상 부호화 장치의 개략》
도 1에 도시한 제1 실시 형태에 따른 동화상 부호화 장치(1)의 개략은, 중간 버퍼 메모리(200)의 데이터 축적량이 큰지 작은지가 판정되어, 제1 입력 단자에 부호량 추정부(300)의 추정 부호량이 공급되고, 제2 입력 단자에 가변 길이 부호화부(201)의 실 부호량이 공급되는 셀렉터(301)의 선택 동작이 이 판정 결과에 응답하여 설정된다. 따라서, 레이트 컨트롤러(302)는 셀렉터(301)의 선택 출력 신호에 응답하여, 양자화부(103)의 양자화 스케일을 산출하는 것이다.
즉, 중간 버퍼 메모리(200)의 데이터 축적량이 크다고 하는 판정 결과에 응답하여, 셀렉터(301)의 제1 입력 단자에 공급되는 부호량 추정부(300)의 추정 부호량이 선택되고, 중간 버퍼 메모리(200)의 데이터 축적량이 작다고 하는 판정 결과에 응답하여, 셀렉터(301)의 제2 입력 단자에 공급되는 가변 길이 부호화부(201)의 실 부호량이 선택되는 것이다.
따라서, 중간 버퍼 메모리(200)의 데이터 축적량이 큰 경우에는, 가변 길이 부호화부(201)의 실 부호량과 비교해서 고속 피드백 제어인 부호량 추정부(300)의 추정 부호량에 따라서, 레이트 컨트롤러(302)로부터 산출되는 양자화 스케일이 양자화부(103)에 공급되는 것이다. 그 결과, 부호량 추정부(300)의 추정 부호량에 의한 양자화부(103)에서의 양자화 스케일의 고속 피드백 제어에 의해, 고정밀도의 비트 레이트 제어를 실현하는 것이 가능하게 된다.
한편, 중간 버퍼 메모리(200)의 데이터 축적량이 작은 경우에는, 부호량 추정부(300)의 추정 부호량과 비교해서 지연은 있지만 오차가 적은 가변 길이 부호화부(201)의 실 부호량에 따라서, 레이트 컨트롤러(302)로부터 산출되는 양자화 스케일이 양자화부(103)에 공급되는 것이다. 따라서, 가변 길이 부호화부(201)의 실 부호량에 의한 양자화부(103)의 양자화 스케일의 고정밀도 피드백 제어에 의해, 고정밀도의 비트 레이트 제어를 실현하는 것이 가능하게 된다.
《동화상 부호화 장치의 상세》
이하에, 도 1에 도시한 제1 실시 형태에 따른 동화상 부호화 장치(1)의 상세를 설명한다.
《예측 부호화부와 부호화 처리부의 동작》
HEVC라고 불리는 차세대 규격에서는, 플렉시블한 블록 구조인 코딩 유닛(CU)은, 64 화소×64 화소의 사이즈의 최대 코딩 유닛(LCU)으로부터 출발해서 양호한 성능을 달성하기 위해, 쿼드트리(quadtree)를 사용한 작은 블록으로 적응적으로 분할된 것이다.
동화상 신호(VS)가 HEVC 규격에 준거하여 부호화되는 경우에는, 동화상 신호(VS)는 HEVC 규격이 플렉시블한 블록 구조인 부호화 처리 단위의 코딩 유닛(CU)으로 분할된 후에, 코딩 유닛(CU)은 예측 부호화부(10)의 비디오 입력 버퍼(100)에 저장되는 것이다. 비디오 입력 버퍼(100)로부터 판독된 코딩 유닛(CU)은, 감산기(101)의 한쪽 입력 단자와 움직임 벡터 검출부(109)의 한쪽 입력 단자와 인트라 예측부(112)의 한쪽 입력 단자에 공급된다.
도 1에 도시되어 있지 않지만, 동화상의 각 픽처의 인터 예측 혹은 인트라 예측을 나타내는 예측 모드가, 도시되지 않는 부호화 제어 유닛으로부터 셀렉터부(113)와 부호화 처리부(20)의 가변 길이 부호화부(201)에 공급된다.
최초에 동화상 신호(VS)가 인터 부호화되는 경우를 상정한다. 이 경우에는, 인터 부호화되는 동화상 신호(VS)의 코딩 유닛(CU)은, B 프레임의 부호화나 움직임 벡터의 검출을 위해 비디오 입력 버퍼(100)에 저장된 후에, 비디오 입력 버퍼(100)로부터 판독된 코딩 유닛(CU)은, 감산기(101)의 한쪽 입력 단자에 공급된다. 움직임 벡터 검출부(109)는, 비디오 입력 버퍼(100)로부터 판독된 동화상 신호와 프레임 메모리(108)에 저장된 참조 화상에 응답하여 움직임 벡터(MV)를 생성하고, 움직임 보상부(110)는 움직임 벡터 검출부(109)로부터 생성된 움직임 벡터(MV)와 프레임 메모리(108)에 저장된 참조 화상에 응답하여 움직임 보상 예측 신호를 생성한다. 움직임 보상부(110)로부터의 움직임 보상 예측 신호가 셀렉터부(113)를 통하여 감산부(101)에 의해 동화상 신호로부터 감산되고, 감산부(101)의 감산 출력 신호인 예측 잔차에 관해서 주파수 변환부(102)와 양자화부(103)에 의해, 각각 주파수 변환 처리와 양자화 처리가 실행된다. 주파수 변환부(102)에서의 주파수 변환 처리는, 소수를 포함하지 않는 정수만의 변환 계수를 출력하는 정수 베이스의 이산 코사인 변환(DCT:Discrete Cosine Transform) 또는 이산 사인 변환(DST:Discrete Sine Transform)이다. 양자화부(103)에 의해 양자화된 주파수 변환 계수와 움직임 벡터 검출부(109)로부터 생성된 움직임 벡터(MV)는, 부호화 처리부(20)의 가변 길이 부호화부(201)에서 가변 길이 부호화 처리되고, 비디오 버퍼(40)를 통하여 압축 비디오 비트 스트림(CVBS)이 생성된다. 양자화부(103)에 의해 양자화된 주파수 변환 계수는 역양자화부(104)와 역주파수 변환부(105)와 가산기(106)와 필터 유닛(107)에 의해 국부 복호 처리가 실행된 후에, 이 국부 복호 처리 결과는, 참조 화상으로서 프레임 메모리(108)에 저장된다.
필터 유닛(107)은 MPEG-4 AVC(H.264)의 규격에 따라서, 블록 변형을 저감하기 위한 디블로킹 필터의 기능을 갖는 것이다. 또한 필터 유닛(107)은, 신규격 H.265(HEVC)에 준거하기 위해, 디블로킹 필터 기능의 실행 후에, 샘플 어댑티브 오프셋(SAO)이라고 불리는 필터 기능을 실행한다. 이 샘플 어댑티드 오프셋(SAO)의 필터 기능은, 동화상 부호화 장치(1)의 도시하지 않은 부호화 제어 유닛의 도수 분포 해석에 의해 결정되는 추가 파라미터가 기술된 룩 업 테이블을 사용함으로써, 원신호 진폭을 양호하게 재구축하는 것이다.
다음에 동화상 신호(VS)가 인트라 부호화되는 경우를 상정한다. 이 경우에는, 인트라 부호화되는 동화상 신호(VS)는 비디오 입력 버퍼(100)에 저장된 후에, 비디오 입력 버퍼(100)로부터 판독된 동화상 신호(VS)는 인트라 예측부(112)의 한쪽 입력 단자에 공급된다. 한편, 버퍼 메모리(111)에는 인트라 예측에 의해 부호화되고, 국부 복호 처리에 의해 생성된 참조 화상이 저장되어 있고, 인트라 예측부(112)의 다른 쪽 입력 단자에는 버퍼 메모리(111)로부터 판독된 참조 화상이 공급되어 있다. 따라서, 인트라 예측부(112)는, 한쪽 입력 단자에 공급되는 동화상 신호의 코딩 유닛(CU)을 인트라 부호화할 때에 버퍼 메모리(111)로부터 다른 쪽 입력 단자에 공급되는 부호화 완료된 참조 화상에 포함되는 복수의 인접 코딩 유닛(CU)으로부터 최적의 코딩 유닛을 선택하고, 또한 선택된 최적의 코딩 유닛(CU)의 공간 정보를 생성한다. 그 결과, 인트라 예측부(112)는 인트라 예측된 최적의 코딩 유닛(CU)과 대응하는 공간적 예측 모드를 포함한 인트라 예측 정보를 셀렉터부(113)에 공급하는 것이다.
《부호화 처리부의 중간 버퍼 메모리 및 레이트 제어부》
부호화 처리부(20)의 중간 버퍼 메모리(200)는, 가변 길이 부호화부(201)가 컨텍스트 적응형 2치 산술 부호화 방식(CABAC)에 의한 부호화 처리를 실행할 때에, 예측 부호화부(10)의 양자화부(103)의 처리 성능과 가변 길이 부호화부(201)의 CABAC 처리의 처리 성능의 차이를 흡수하기 위해, 양자화부(103)와 가변 길이 부호화부(201) 사이에 접속된 것이다. 또한, 부호화 처리부(20)의 중간 버퍼 메모리(200)는, 가변 길이 부호화부(201)가 컨텍스트 적응형 가변 길이 부호화 방식(CAVLC)에 의한 부호화 처리를 실행할 때에, 양자화부(103)의 동작 클럭의 주파수보다 가변 길이 부호화부(201)의 CAVLC 처리부의 동작 클럭의 주파수를 낮게 하는 전력 절약 아키텍쳐를 채용하기 위해 사용된 것이다. 즉, 이 전력 절약 아키텍쳐를 채용하기 위해서는, 예측 부호화부(10)의 양자화부(103)의 처리 성능과 가변 길이 부호화부(201)의 CAVLC 처리의 처리 성능의 차이를 흡수하기 위해, 양자화부(103)와 가변 길이 부호화부(201) 사이에 중간 버퍼 메모리(200)가 접속된 것이다.
상술한 바와 같이 레이트 제어부(30)는, 부호량 추정부(300)와 셀렉터(301)와 레이트 컨트롤러(302)에 의해 구성된다.
부호량 추정부(300)의 입력 단자는, 예측 부호화부(10)의 양자화부(103)의 출력 단자에 접속된다. 따라서, 부호량 추정부(300)는 양자화부(103)의 양자화 스케일의 제어 지연을 경감하기 위해, 가변 길이 부호화부(201)의 CABAC 처리 또는 CAVLC 처리 전의 양자화부(103)에 의해 양자화된 주파수 변환 계수에 기초하여, 가변 길이 부호화부(201)의 출력 단자로부터 생성되는 압축 비디오 비트 스트림(CVBS)의 부호량을 추정하는 것이다. 부호량 추정부(300)의 출력 단자로부터 생성되는 추정 부호량은 셀렉터(301)의 제1 입력 단자에 공급된다. 이 추정 부호량은 오차를 포함하는 것이지만, 가변 길이 부호화부(201)의 CABAC 처리 혹은 CAVLC 처리의 지연을 포함하지 않는 것이다. 또한, 부호량 추정부(300)는, 예를 들어 MPEG-4 AVC(H.264)의 규격에 의해 정의된 지수 골롬(Exponential Golomb) 부호에 의해 부호화되는 부호화 데이터의 부호 길이를 추정 부호량으로 하는 것이다. 또한, 잘 알려져 있는 바와 같이, 지수 골롬 부호는 프리픽스(제로 "0"의 연속)와 세퍼레이터("1")와 서픽스("0"과 "1"의 조합)에 의해 구성되어, DCT 계수와 움직임 벡터 등의 신택스 요소의 엔트로피 부호화(가변 길이 부호화)에 사용되는 것이다.
한편, 셀렉터(301)의 제2 입력 단자에, 가변 길이 부호화부(201)의 CABAC 처리 또는 CAVLC 처리에 의해 부호화되는 압축 비디오 비트 스트림(CVBS)의 실제의 부호량(실 부호량)이 공급된다. 이 실 부호량은 가변 길이 부호화부(201)의 CABAC 처리 혹은 CAVLC 처리의 지연을 포함하는 것이지만, 추정 부호량과 달리 부호량의 값에 오차를 포함하지 않는 고정밀도의 비트 레이트 제어를 가능하게 하는 것이다.
또한, 셀렉터(301)의 선택 제어 단자에는 중간 버퍼 메모리(200)로부터 선택 제어 신호가 공급된다. 중간 버퍼 메모리(200)에 축적된 축적 데이터(양자화 주파수 변환 계수 등)가 적은 경우에는, 중간 버퍼 메모리(200)로부터 생성되는 선택 제어 신호는, 예를 들어 로우 레벨 "0"이 된다. 따라서, 로우 레벨 "0"의 선택 제어 신호에 응답하여, 셀렉터(301)는 셀렉터(301)의 제2 입력 단자에 공급되는 가변 길이 부호화부(201)의 실 부호량을 선택하고, 그 출력 단자에 출력한다. 그 결과, 레이트 컨트롤러(302)는 셀렉터(301)의 출력 단자에 출력된 가변 길이 부호화부(201)의 실 부호량으로부터, 양자화부(103)의 양자화 스케일을 산출한다. 레이트 컨트롤러(302)에 의해 산출된 양자화 스케일은 양자화부(103)에 공급되므로, 양자화부(103)의 양자화 스케일이 가변 길이 부호화부(201)의 실 부호량에 응답하여 설정된다. 즉, 중간 버퍼 메모리(200)의 축적 데이터가 적고 선택 제어 신호가 로우 레벨 "0"인 경우에는, 부호량 추정부(300)의 추정 부호량과 비교해서 지연은 있지만 오차가 적은 가변 길이 부호화부(201)의 실 부호량에 따라서, 레이트 컨트롤러(302)로부터 산출되는 양자화 스케일이 양자화부(103)에 공급되는 것이다. 따라서, 가변 길이 부호화부(201)의 실 부호량에 의한 양자화부(103)에서의 양자화 스케일의 고정밀도 피드백 제어에 의해, 고정밀도의 비트 레이트 제어를 실현하는 것이 가능하게 된다.
그에 대해, 중간 버퍼 메모리(200)에 축적된 축적 데이터가 많은 경우에는, 중간 버퍼 메모리(200)로부터 생성되는 선택 제어 신호는, 예를 들어, 하이 레벨 "1"이 된다. 따라서, 하이 레벨 "1"의 선택 제어 신호에 응답하여, 셀렉터(301)는 셀렉터(301)의 제1 입력 단자에 공급되는 부호량 추정부(300)의 추정 부호량을 선택하고, 그 출력 단자에 출력한다. 그 결과, 레이트 컨트롤러(302)는 셀렉터(301)의 출력 단자에 출력된 부호량 추정부(300)의 추정 부호량으로부터, 양자화부(103)의 양자화 스케일을 산출한다. 레이트 컨트롤러(302)에 의해 산출된 양자화 스케일은 양자화부(103)에 공급되므로, 양자화부(103)의 양자화 스케일이 부호량 추정부(300)의 추정 부호량에 응답하여 설정된다. 즉, 중간 버퍼 메모리(200)의 데이터 축적량이 큰 경우에는, 가변 길이 부호화부(201)의 실 부호량과 비교해서 고속 피드백 제어인 부호량 추정부(300)의 추정 부호량에 따라서, 레이트 컨트롤러(302)로부터 산출되는 양자화 스케일이 양자화부(103)에 공급되는 것이다. 그 결과, 부호량 추정부(300)의 추정 부호량에 의한 양자화부(103)에서의 양자화 스케일의 고속 피드백 제어에 의해, 고정밀도의 비트 레이트 제어를 실현하는 것이 가능하게 된다.
《중간 버퍼 메모리의 축적 데이터량의 판정》
또한, 중간 버퍼 메모리(200)의 축적 데이터가 적은지 많은지는, 소정의 축적 데이터의 임계값을 경계로 하여 판정하는 것이 가능하다. 중간 버퍼 메모리(200)에 축적된 축적 데이터가 소정의 임계값보다도 적은 경우에는, 중간 버퍼 메모리(200)로부터 생성되는 선택 제어 신호는 로우 레벨 "0"이 되고, 셀렉터(301)는 셀렉터(301)의 제2 입력 단자에 공급되는 가변 길이 부호화부(201)의 실 부호량을 선택해서 출력 단자에 출력한다. 한편, 중간 버퍼 메모리(200)에 축적된 축적 데이터가 소정의 임계값보다도 많은 경우에는, 중간 버퍼 메모리(200)로부터 생성되는 선택 제어 신호는 하이 레벨 "1"이 되고, 셀렉터(301)는 셀렉터(301)의 제1 입력 단자에 공급되는 부호량 추정부(300)의 추정 부호량을 선택해서 출력 단자에 출력한다.
《동화상 부호화 장치의 반도체 집적 회로》
또한 도 1에 도시한 제1 실시 형태에 의해 예측 부호화부(10)와 부호화 처리부(20)와 레이트 제어부(30)와 비디오 버퍼(40)를 구비하는 동화상 부호화 장치(1)의 대부분은, 반도체 집적 회로의 1개의 반도체 칩에 집적화되어 있다. 예를 들어, 이 반도체 집적 회로는 최첨단 반도체 제조 프로세스에 의해 제조되는 시스템 LSI 혹은 시스템 온 칩(SOC)이라고 불리는 대규모 반도체 집적 회로이다.
예측 부호화부(10)에서는 프레임 메모리(108)와 버퍼 메모리(111)를 제외하고, 비디오 입력 버퍼(100)와 감산기(101)와 주파수 변환부(102)와 양자화부(103)와 역양자화부(104)와 역주파수 변환부(105)와 가산기(106)와 필터 유닛(107)과 움직임 벡터 검출부(109)와 움직임 보상부(110)와 인트라 예측부(112)와 셀렉터부(113)는 1개의 반도체 칩에 집적화된다. 또한, 프레임 메모리(108)와 버퍼 메모리(111)는, 이 1개의 반도체 칩과 다른 동기형 다이내믹 랜덤 액세스 메모리(SDRAM)의 반도체 칩에 집적화된다.
부호화 처리부(20)의 중간 버퍼 메모리(200)와 가변 길이 부호화부(201)는, 상술한 1개의 반도체 칩에 집적화된다. 따라서, 중간 버퍼 메모리(200)는, 이 1개의 반도체 칩의 내장 스태틱 랜덤 액세스 메모리(SRAM)에 의해 구성된다. 그 밖의 실시 형태에서는, 중간 버퍼 메모리(200)는, 상술한 동기형 다이내믹 랜덤 액세스 메모리(SDRAM)에 의해 구성되는 것도 가능하다.
레이트 제어부(30)의 부호량 추정부(300)와 셀렉터(301)와 레이트 컨트롤러(302)는, 상술한 1개의 반도체 칩에 집적화된다.
압축 비디오 비트 스트림(CVBS)을 생성하기 위한 비디오 버퍼(40)는, 상술한 동기형 다이내믹 랜덤 액세스 메모리(SDRAM)에 의해 구성될 수 있다. 그 밖의 실시 형태에서는, 이 비디오 버퍼(40)는, 상기 비특허문헌 2에 기재된 가상 버퍼로 하는 것이 가능하다. 그 결과, 가상 버퍼로서 구성된 비디오 버퍼(40)의 충족도(데이터 축적량)의 제어, 즉 레이트 제어부(30)에 의한 양자화부(103)의 양자화 스케일의 피드백 제어를, 상술한 Test Model 5라고 불리는 비트 레이트 제어에 의해 실행하는 것이 가능하다.
《가변 길이 부호화부의 구성》
도 2는, 도 1에 도시한 제1 실시 형태에 따른 동화상 부호화 장치(1)의 부호화 처리부(20)에 포함된 가변 길이 부호화부(201)의 구성을 도시하는 도면이다.
도 2에 도시하는 바와 같이, 가변 길이 부호화부(201)는 지수 골롬 부호화부(2011)와 CAVLC 처리부(2012)와 CABAC 처리부(2013)를 포함하고 있다.
지수 골롬 부호화부(2011)는, 상술한 바와 같이 DCT 계수와 움직임 벡터 등의 신택스 요소의 엔트로피 부호화(가변 길이 부호화)에 사용되는 것이다. 즉, 지수 골롬 부호화부(2011)는 다양한 신택스 요소를, 프리픽스와 세퍼레이터와 서픽스를 포함하는 지수 골롬 부호로 부호화하는 것이다. 따라서, 신택스 요소의 지수 골롬 부호에의 부호화가 필요한 때에는, 도시되지 않는 부호화 제어 유닛으로부터 공급되는 활성화 제어 신호에 응답하여, 지수 골롬 부호화부(2011)가 활성화된다. 그 이외에서는, 지수 골롬 부호화부(2011)는 비활성화되어, 저소비 전력이 실현된다.
CAVLC 처리부(2012)는, 상술한 바와 같이 양자화된 DCT 계수값의 부호화에만 사용되어 양자화된 DCT 계수값을, 지그재그ㆍ스캔에 의해 1차원의 벡터로 변환한 후에, 복호에 필요한 정보를 부호화하는 컨텍스트 적응형 가변 길이 부호화 방식(CAVLC)의 부호화 처리를 실행하는 것이다. 즉, CAVLC 처리부(2012)에서의 CAVLC 부호화 처리에 의해, 비제로 계수치, 비제로 계수의 개수, 비제로 계수 전의 제로 개수, 최후의 비제로 계수 전의 제로 개수, 마지막으로 연속되는 절대값 1의 계수의 개수 및 그 부호 등의 복호에 필요한 정보가 부호화되는 것이다. 따라서, CAVLC 처리부(2012)에서의 CAVLC 부호화 처리가 필요한 때에, 도시되지 않는 부호화 제어 유닛으로부터 공급되는 활성화 제어 신호에 응답하여, CAVLC 처리부(2012)가 활성화된다. 그 이외에서는, CAVLC 처리부(2012)는 비활성화되어, 저소비 전력이 실현된다.
CABAC 처리부(2013)는, 상술한 바와 같이 2치화부(20131)와 2치 산술 부호화부(20132)와 컨텍스트 계산부(20133)에 의해 구성되어 있다. 2치화부(20131)는 다치 입력 신호로부터 2치 신호를 생성하여, 2치 신호는 2치 산술 부호화부(20132)에 의해 부호화 비트 열로 부호화된다. 컨텍스트 계산부(20133)는 부호화 대상 심볼인 2치 신호의 발생 확률 모델을 근방 심볼의 상황에 따라서 동적으로 계산ㆍ갱신한다. 2치 산술 부호화부(20132)는 컨텍스트 계산부(20133)에 의해 계산ㆍ갱신된 발생 확률 모델에 따라서 2치 신호를 부호화 비트 열로 부호화한다. 그 결과, CABAC 처리부(2013)에서의 부호화 처리는, 1 사이클당 부호화 비트 열의 1 비트를 출력한다고 하는 1 비트 단위의 순서대로 출력 처리가 된다. CABAC 처리부(2013)에서의 CABAC 부호화 처리가 필요한 때에는, 도시되지 않는 부호화 제어 유닛으로부터 공급되는 활성화 제어 신호에 응답하여, CABAC 처리부(2013)가 활성화된다. 그 이외에서는, CABAC 처리부(2013)는 비활성화되어, 저소비 전력이 실현된다.
또한, 도 2에 도시한 바와 같이 지수 골롬 부호화부(2011)의 입력 단자와 CAVLC 처리부(2012)의 입력 단자와 CABAC 처리부(2013)의 입력 단자는 가변 길이 부호화부(201)의 입력 단자 IN에 접속되고, 지수 골롬 부호화부(2011)의 출력 단자와 CAVLC 처리부(2012)의 출력 단자와 CABAC 처리부(2013)의 출력 단자는 가변 길이 부호화부(201)의 출력 단자 OUT에 접속되어 있다.
《제1 실시 형태의 효과》
도 1과 도 2에 도시한 제1 실시 형태에 따른 동화상 부호화 장치(1)에 의하면, 부호화 처리부(20)의 처리 지연이 크고 중간 버퍼 메모리(200)의 데이터 축적량이 큰 경우에는 고속의 피드백 제어가 가능한 추정 부호량을 사용하고, 또한 부호화 처리부(20)의 처리 지연이 작고 중간 버퍼 메모리(200)의 데이터 축적량이 작은 경우에는 오차가 적은 실 부호량을 사용하게 된다. 따라서, 이 동화상 부호화 장치(1)에 의하면, 고정밀도의 비트 레이트 제어를 실현하는 것이 가능하게 된다.
[제2 실시 형태]
《제2 실시 형태의 동화상 부호화 장치의 주요부의 구성》
도 3은, 제2 실시 형태에 따른 동화상 부호화 장치(1)의 주요부의 구성을 도시하는 도면이다.
도 3에 도시한 제2 실시 형태에 따른 동화상 부호화 장치(1)가, 도 1과 도 2에 도시한 제1 실시 형태에 따른 동화상 부호화 장치(1)와 다른 것은 하기의 점이다.
즉, 도 3에 도시한 제2 실시 형태에 따른 동화상 부호화 장치(1)에서는, 도 1과 도 2에 도시한 제1 실시 형태에 따른 동화상 부호화 장치(1)에 있어서 양자화부(103)와 부호화 처리부(20) 사이에 접속되어 있었던 중간 버퍼 메모리(200)는 프리 버퍼 메모리(205)로 치환되어 있다. 이 프리 버퍼 메모리(205)는, 상술한 반도체 집적 회로의 반도체 칩의 내장 스태틱 랜덤 액세스 메모리(SRAM)에 의해 구성되는 것이 가능하다. 그 밖의 실시 형태에 있어서는, 프리 버퍼 메모리(205)는, 상술한 동기형 다이내믹 랜덤 액세스 메모리(SDRAM)에 의해 구성되는 것도 가능하다.
가변 길이 부호화부(201)에서, 지수 골롬 부호화부(2011)와 CAVLC 처리부(2012) 중 어느 한쪽이 활성화되는 경우에는, 프리 버퍼 메모리(205)의 데이터 축적량이 큰지 작은지가 판정된다. 레이트 제어부(30)의 셀렉터(301)에서는, 제1 입력 단자에는 부호량 추정부(300)의 추정 부호량이 공급되고, 제2 입력 단자에는 지수 골롬 부호화부(2011) 및 CAVLC 처리부(201)의 출력부에서의 실 부호량이 공급되어, 셀렉터(301)의 선택 동작이 프리 버퍼 메모리(205)의 데이터 축적량의 판정 결과에 응답하여 설정된다. 이와 같이, 레이트 컨트롤러(302)는 셀렉터(301)의 선택 출력 신호에 응답하여, 양자화부(103)의 양자화 스케일을 산출하는 것이다.
즉, 프리 버퍼 메모리(205)의 데이터 축적량이 크다는 판정 결과에 응답하여, 셀렉터(301)의 제1 입력 단자에 공급되는 부호량 추정부(300)의 추정 부호량이 선택된다. 한편, 프리 버퍼 메모리(205)의 데이터 축적량이 작다는 판정 결과에 응답하여, 셀렉터(301)의 제2 입력 단자에 공급되는 지수 골롬 부호화부(2011) 및 CAVLC 처리부(201)의 출력부의 실 부호량이 선택되는 것이다.
따라서, 프리 버퍼 메모리(205)의 데이터 축적량이 큰 경우에는, 프리 버퍼 메모리(205)의 오버플로우의 위험성이 있다. 그러나, 지수 골롬 부호화부(2011) 및 CAVLC 처리부(201)의 출력부의 실 부호량과 비교해서 고속 피드백 제어인 부호량 추정부(300)의 추정 부호량에 따라서 레이트 컨트롤러(302)로부터 산출되는 양자화 스케일이 양자화부(103)에 공급되는 것이다. 그 결과, 부호량 추정부(300)의 추정 부호량에 의한 양자화부(103)에서의 양자화 스케일의 고속 피드백 제어에 의해, 프리 버퍼 메모리(205)의 오버플로우의 위험성을 경감하는 것이 가능하게 된다.
한편, 프리 버퍼 메모리(205)의 데이터 축적량이 작은 경우에는 프리 버퍼 메모리(205)의 오버플로우의 위험성이 없다. 그러나, 부호량 추정부(300)의 추정 부호량과 비교해서 고정밀도의 피드백 제어인 지수 골롬 부호화부(2011) 및 CAVLC 처리부(201)의 출력부의 실 부호량에 따라서 레이트 컨트롤러(302)로부터 산출되는 양자화 스케일이 양자화부(103)에 공급되는 것이다. 따라서, 지수 골롬 부호화부(2011) 및 CAVLC 처리부(201)의 출력부의 실 부호량에 의한 양자화부(103)의 양자화 스케일의 고정밀도 피드백 제어에 의해, 고정밀도의 비트 레이트 제어를 실현하는 것이 가능하게 된다.
가변 길이 부호화부(201)에서, CABAC 처리부(2013)가 활성화되는 경우에는, CABAC 처리부(2013)의 2치화부(20131)와 2치 산술 부호화부(20132) 사이에 접속된 중간 버퍼 메모리(20134)의 데이터 축적량이 큰지 작은지가 판정된다.
레이트 제어부(30)의 셀렉터(301)에서는, 제1 입력 단자에는 부호량 추정부(300)의 추정 부호량이 공급되고, 제2 입력 단자에는 CABAC 처리부(2013)의 2치 산술 부호화부(20132)에서의 실 부호량이 공급되고, 셀렉터(301)의 선택 제어 동작이 중간 버퍼 메모리(20134)의 데이터 축적량의 판정 결과에 응답하여 설정된다. 이와 같이, 레이트 컨트롤러(302)는 셀렉터(301)의 선택 출력 신호에 응답하여, 양자화부(103)의 양자화 스케일을 산출하는 것이다.
즉, 중간 버퍼 메모리(20134)의 데이터 축적량이 크다는 판정 결과에 응답하여 셀렉터(301)의 제1 입력 단자에 공급되는 부호량 추정부(300)의 추정 부호량이 선택되고, 중간 버퍼 메모리(20134)의 데이터 축적량이 작다는 판정 결과에 응답하여 셀렉터(301)의 제2 입력 단자에 공급되는 CABAC 처리부(2013)의 2치 산술 부호화부(20132)의 실 부호량이 선택된다.
따라서, 중간 버퍼 메모리(20134)의 데이터 축적량이 큰 경우에는, CABAC 처리부(2013)의 2치 산술 부호화부(20132)의 실 부호량과 비교해서 고속 피드백 제어인 부호량 추정부(300)의 추정 부호량에 따라서, 레이트 컨트롤러(302)로부터 산출되는 양자화 스케일이 양자화부(103)에 공급되는 것이다. 그 결과, 부호량 추정부(300)의 추정 부호량에 의한 양자화부(103)의 양자화 스케일의 고속 피드백 제어에 의해, 고정밀도의 비트 레이트 제어를 실현하는 것이 가능하게 된다.
한편, 중간 버퍼 메모리(20134)의 데이터 축적량이 작은 경우에는, 부호량 추정부(300)의 추정 부호량과 비교해서 지연은 있지만 오차가 적은 CABAC 처리부(2013)의 2치 산술 부호화부(20132)에서의 실 부호량에 따라서 레이트 컨트롤러(302)로부터 산출되는 양자화 스케일이 양자화부(103)에 공급되는 것이다. 따라서, 가변 길이 부호화부(201)의 실 부호량에 의한 양자화부(103)의 양자화 스케일의 고정밀도 피드백 제어에 의해, 고정밀도의 비트 레이트 제어를 실현하는 것이 가능하게 된다.
《제2 실시 형태의 효과》
도 3에 도시한 제2 실시 형태에 따른 동화상 부호화 장치(1)에 의하면, CABAC 처리부(2013)가 활성화되는 경우에는, 2치 산술 부호화부(20132)의 처리 지연이 크고 중간 버퍼 메모리(20134)의 데이터 축적량이 큰 경우에는 고속의 피드백 제어가 가능한 추정 부호량을 사용한다. 또한, 도 3에 도시한 제2 실시 형태에 따른 동화상 부호화 장치(1)에 의하면, 2치 산술 부호화부(20132)의 처리 지연이 작고 중간 버퍼 메모리(20134)의 데이터 축적량이 작은 경우에는 오차가 적은 실 부호량을 사용하게 된다. 따라서, 이 동화상 부호화 장치(1)에 의하면, 고정밀도의 비트 레이트 제어를 실현하는 것이 가능하게 된다.
[제3 실시 형태]
《제3 실시 형태의 동화상 부호화 장치의 주요부의 구성》
도 4는, 제3 실시 형태에 따른 동화상 부호화 장치(1)의 주요부의 구성을 도시하는 도면이다.
도 4에 도시한 제3 실시 형태에 따른 동화상 부호화 장치(1)가, 도 1과 도 2에 도시한 제1 실시 형태에 따른 동화상 부호화 장치(1)와 다른 것은 하기의 점이다.
즉, 도 1과 도 2에 도시한 제1 실시 형태에 따른 동화상 부호화 장치(1)에서는, 부호화 처리부(20)의 처리 지연이 큰지 작은지는, 중간 버퍼 메모리(200)의 축적 데이터가 적은지 많은지에 의해 판정되어 있었다. 그에 대해, 도 4에 도시한 제3 실시 형태에 따른 동화상 부호화 장치(1)에 있어서는, 부호화 처리부(20)의 처리 지연이 큰지 작은지는, 동화상 신호(VS)에 포함되는 부호화 처리 단위에서의 화상 블록을 카운트하는 제1 카운터(114)의 제1 카운트값과 제2 카운터(304)의 제2 카운트값의 차가 적은지 많은지의 판정으로 판별된다. 즉, 제1 카운터(114)의 제1 카운트값과 제2 카운터(304)의 제2 카운트값의 차는, 셀렉터(301)를 제어하는 셀렉터 컨트롤러(303)에 의해 판정된다.
최초에, 도 4의 제3 실시 형태에 따른 동화상 부호화 장치가 현행 규격 H.264/MPEG-4 AVC에 준거하여 동화상 입력 신호(VS)를 부호화하는 경우에는, 부호화 처리 단위에서의 화상 블록은, 휘도 성분으로 16×16 화소의 사이즈를 갖는 매크로 블록이다. 따라서, 예측 부호화부(10)의 제1 카운터(114)는, 예측 부호화부(10)의 양자화부(103)에서 양자화 처리되는 매크로 블록의 번호를 카운트함으로써, 제1 카운트값을 유지하는 것이다. 한편, 레이트 제어부(30)의 제2 카운터(304)는, 부호화 처리부(20)의 가변 길이 부호화부(201)에서 부호화 처리되는 매크로 블록의 번호를 카운트함으로써, 제2 카운트값을 유지하는 것이다.
이 경우에 부호화 처리부(20)의 처리 지연이 작고 중간 버퍼 메모리(200)의 데이터 축적량이 작은 상태에서는, 예측 부호화부(10)의 제1 카운터(114)에 의해 유지된 제1 카운트값의 값보다도 레이트 제어부(30)의 제2 카운터(304)에 의해 유지된 제2 카운트값의 값은 약간 작은 값이 된다. 그에 대해 이 경우에 부호화 처리부(20)의 처리 지연이 크고 중간 버퍼 메모리(200)의 데이터 축적량이 큰 상태에서는, 예측 부호화부(10)의 제1 카운터(114)에 의해 유지된 제1 카운트값의 값보다도 레이트 제어부(30)의 제2 카운터(304)에 의해 유지된 제2 카운트값의 값은 대폭 작은 값이 된다. 이와 같이 제1 카운터(114)의 제1 카운트값과 제2 카운터(304)의 제2 카운트값의 차는, 셀렉터(301)를 제어하는 셀렉터 컨트롤러(303)에 의해 판정되는 것이 가능하다. 2개의 카운트값의 차가 크고 부호화 처리부(20)의 처리 지연이 크고 중간 버퍼 메모리(200)의 데이터 축적량이 크다고 하는 셀렉터 컨트롤러(303)의 판정 결과에 응답하여, 셀렉터(301)의 제1 입력 단자에 공급되는 부호량 추정부(300)의 추정 부호량이 선택된다. 그에 대해, 2개의 카운트값의 차가 작고 부호화 처리부(20)의 처리 지연이 작고 중간 버퍼 메모리(200)의 데이터 축적량이 작다는 셀렉터 컨트롤러(303)의 판정 결과에 응답하여, 셀렉터(301)의 제2 입력 단자에 공급되는 가변 길이 부호화부(201)의 실 부호량이 선택된다.
다음에, 도 4의 제3 실시 형태에 따른 동화상 부호화 장치가 신규격 H.265에 준거하여 동화상 입력 신호(VS)를 부호화하는 경우에는, 부호화 처리 단위에서의 화상 블록은 플렉시블한 블록 구조인 코딩 유닛(CU)이다. 따라서, 예측 부호화부(10)의 제1 카운터(114)는, 예측 부호화부(10)의 양자화부(103)에서 양자화 처리되는 코딩 유닛(CU)의 번호를 카운트하여 제1 카운트값을 유지하는 것이다. 한편, 레이트 제어부(30)의 제2 카운터(304)는, 부호화 처리부(20)의 가변 길이 부호화부(201)에서 부호화 처리되는 코딩 유닛(CU)의 번호를 카운트하여 제2 카운트값을 유지하는 것이다. 또한, 코딩 유닛(CU)의 최대의 것은 64 화소×64 화소의 사이즈의 최대 코딩 유닛(LCU)이므로, 제1 카운터(114)와 제2 카운터(304)는, 경우에 따라서는, 최대 코딩 유닛(LCU)의 번호를 카운트하는 것이다.
이 경우에서도, 부호화 처리부(20)의 처리 지연이 작고 중간 버퍼 메모리(200)의 데이터 축적량이 작은 상태에서는, 예측 부호화부(10)의 제1 카운터(114)에 의해 유지된 제1 카운트값의 값보다도 레이트 제어부(30)의 제2 카운터(304)에 의해 유지된 제2 카운트값의 값은 약간 작은 값으로 되는 것이다. 그에 대해 이 경우에 부호화 처리부(20)의 처리 지연이 크고 중간 버퍼 메모리(200)의 데이터 축적량이 큰 상태에서는, 예측 부호화부(10)의 제1 카운터(114)에 의해 유지된 제1 카운트값의 값보다도 레이트 제어부(30)의 제2 카운터(304)에 의해 유지된 제2 카운트값의 값은 대폭 작은 값으로 되는 것이다. 이와 같이 제1 카운터(114)의 제1 카운트값과 제2 카운터(304)의 제2 카운트값의 차는, 셀렉터(301)를 제어하는 셀렉터 컨트롤러(303)에 의해 판정되는 것이 가능하다. 2개의 카운트값의 차가 크고 부호화 처리부(20)의 처리 지연이 크고 중간 버퍼 메모리(200)의 데이터 축적량이 크다고 하는 셀렉터 컨트롤러(303)의 판정 결과에 응답하여, 셀렉터(301)의 제1 입력 단자에 공급되는 부호량 추정부(300)의 추정 부호량이 선택된다. 그에 대해, 2개의 카운트값의 차가 작고 부호화 처리부(20)의 처리 지연이 작고 중간 버퍼 메모리(200)의 데이터 축적량이 작다는 셀렉터 컨트롤러(303)의 판정 결과에 응답하여, 셀렉터(301)의 제2 입력 단자에 공급되는 가변 길이 부호화부(201)의 실 부호량이 선택되는 것이다.
이상, 본 발명자에 의해 이루어진 발명을 다양한 실시 형태에 기초하여 구체적으로 설명했지만, 본 발명은 그에 한정되는 것이 아니라, 그 요지를 일탈하지 않는 범위에서 다양한 변경 가능한 것은 물론이다.
예를 들어, 도 3의 제2 실시 형태의 동화상 부호화 장치(1)에서도, 도 4의 제3 실시 형태의 동화상 부호화 장치(1)와 마찬가지로 제1 카운터(114)와 제2 카운터(304)와 셀렉터 컨트롤러(303)를 사용해서, 부호화 처리부(20)의 처리 지연이 큰지 작은지 또는 중간 버퍼 메모리(200)의 데이터 축적량이 큰지 작은지를 판정하는 것이 가능하다.
도 5는, 도 3에 도시한 제2 실시 형태에 따른 동화상 부호화 장치(1)의 양자화부(103)와 가변 길이 부호화부(201) 사이에 접속되어 있었던 프리 버퍼(205)를 생략한 다른 실시 형태에 따른 동화상 부호화 장치(1)의 구성을 도시하는 도면이다.
도 5에 도시한 동화상 부호화 장치(1)에서는, 스위치 SW1과 스위치 SW2를 포함하는 전환 스위치(20135)가, CABAC 처리부(2013)의 2치화부(20131)와 중간 버퍼 메모리(20134) 사이에 접속되어 있다.
도 5에 도시한 동화상 부호화 장치(1)에 있어서, CABAC 처리부(2013)의 2치화부(20131)와 2치 산술 부호화부(20132)와 컨텍스트 계산부(20133)가 CABAC 부호화 처리를 실행하는 경우에는, 전환 스위치(20135)에서는 스위치 SW1은 온 상태로 제어되고 스위치 SW2는 오프 상태로 제어된다. 그 결과, 2치화부(20131)는 다치 입력 신호로부터 2치 신호를 생성하고, 2치 신호는 스위치 SW1과 중간 버퍼 메모리(20134)를 통하여 2치 산술 부호화부(20132)에 공급되므로, 2치 신호는 2치 산술 부호화부(20132)에 의해 부호화 비트 열로 부호화된다.
도 5에 도시한 동화상 부호화 장치(1)에 있어서, 지수 골롬 부호화부(2011) 혹은 CAVLC 처리부(2012)가 활성화되는 경우에는, 전환 스위치(20135)에서는 스위치 SW1은 오프 상태로 제어되고 스위치 SW2는 온 상태로 제어된다. 그 결과, 가변 길이 부호화부(201)의 입력 단자 IN에서의 양자화부(103)에 의해 양자화된 주파수 변환 계수는, 2치화부(20131)와 스위치 SW1을 경유하지 않고, 스위치 SW2와 중간 버퍼 메모리(20134)를 통하여, 지수 골롬 부호화부(2011)의 입력 단자와 CAVLC 처리부(2012)의 입력 단자에 공급되는 것이다.
도 5에 도시한 동화상 부호화 장치(1)에서도, 중간 버퍼 메모리(20134)의 데이터 축적량이 큰 경우에는, CABAC 처리부(2013)의 2치 산술 부호화부(20132)의 실 부호량과 비교해서 고속 피드백 제어인 부호량 추정부(300)의 추정 부호량에 따라서, 레이트 컨트롤러(302)로부터 산출되는 양자화 스케일이 양자화부(103)에 공급되는 것이다. 그 결과, 부호량 추정부(300)의 추정 부호량에 의한 양자화부(103)의 양자화 스케일의 고속 피드백 제어에 의해, 고정밀도의 비트 레이트 제어를 실현하는 것이 가능하게 된다.
한편, 중간 버퍼 메모리(20134)의 데이터 축적량이 작은 경우에는, 부호량 추정부(300)의 추정 부호량과 비교해서 지연은 있지만 오차가 적은 CABAC 처리부(2013)의 2치 산술 부호화부(20132)에서의 실 부호량에 따라서 레이트 컨트롤러(302)로부터 산출되는 양자화 스케일이 양자화부(103)에 공급되는 것이다. 따라서, 가변 길이 부호화부(201)의 실 부호량에 의한 양자화부(103)의 양자화 스케일의 고정밀도 피드백 제어에 의해, 고정밀도의 비트 레이트 제어를 실현하는 것이 가능하게 된다.
본 발명은, 신규격 H.265에 준거하여 동화상 입력 신호(VS)를 부호화할뿐만 아니라, 64 화소×64 화소의 사이즈보다도 더 큰 최대 코딩 유닛(LCU)을 처리 단위로 하는 장래의 규격에 준거하는 부호화 처리에 적용하는 것이 가능하다.
1 : 동화상 부호화 장치
10 : 예측 부호화부
20 : 예측 부호화부
30 : 레이트 제어부
40 : 비디오 버퍼
100 : 비디오 입력 버퍼
101 : 감산기
102 : 주파수 변환부
103 : 양자화부
104 : 역양자화부
105 : 역주파수 변환부
106 : 가산기
107 : 필터 유닛
108 : 프레임 메모리
109 : 움직임 벡터 검출부
110 : 움직임 보상부
111 : 버퍼 메모리
112 : 인트라 예측부
113 : 셀렉터부
200 : 중간 버퍼 메모리
201 : 가변 길이 부호화부
300 : 부호량 추정부
301 : 셀렉터
302 : 레이트 컨트롤러

Claims (20)

  1. 동화상 부호화 장치로서,
    주파수 변환부와 양자화부와 부호화부와 중간 버퍼와 부호량 추정부와 부호량 셀렉터와 레이트 컨트롤러를 구비하고, 상기 주파수 변환부는, 입력 신호의 주파수 변환 처리를 실행하고, 상기 양자화부는, 상기 주파수 변환부의 상기 주파수 변환 처리의 결과에 관해서, 양자화 처리를 실행하고, 상기 부호화부가 상기 양자화부의 상기 양자화 처리의 결과에 관해서 부호화 처리를 실행함으로써, 상기 부호화부로부터 압축 비디오 비트 스트림이 생성되고, 상기 중간 버퍼는, 상기 양자화부의 출력 단자와 상기 부호화부의 입력 단자 사이에 접속되고, 상기 부호량 추정부의 입력 단자는 상기 양자화부의 상기 출력 단자에 접속되고, 상기 부호량 추정부의 출력 단자로부터 생성되는 추정 부호량이 상기 부호량 셀렉터의 제1 입력 단자에 공급되고, 상기 부호량 셀렉터의 제2 입력 단자에는, 상기 부호화부에 의해 부호화되는 상기 압축 비디오 비트 스트림의 실 부호량이 공급되고, 상기 부호량 셀렉터의 선택 제어 단자에는, 상기 중간 버퍼의 데이터 축적량이 큰지 작은지의 판정 신호가 공급되고, 상기 부호량 셀렉터의 출력 단자는 상기 레이트 컨트롤러의 입력 단자에 접속되고, 상기 레이트 컨트롤러의 출력 신호는 상기 양자화부의 양자화 스케일을 조정하고, 상기 판정 신호가 상기 중간 버퍼의 상기 데이터 축적량이 큰 것을 나타내는 경우에는, 상기 부호량 셀렉터의 상기 제1 입력 단자에 공급되는 상기 부호량 추정부로부터의 상기 추정 부호량이 상기 부호량 셀렉터의 상기 출력 단자에 출력되고, 상기 양자화부의 상기 양자화 스케일이 상기 추정 부호량에 의해 조정되고, 상기 판정 신호가 상기 중간 버퍼의 상기 데이터 축적량이 작은 것을 나타내는 경우에는, 상기 부호량 셀렉터의 상기 제2 입력 단자에 공급되는 상기 부호화부로부터의 상기 실 부호량이 상기 부호량 셀렉터의 상기 출력 단자에 출력되고, 상기 양자화부의 상기 양자화 스케일이 상기 실 부호량에 의해 조정되는 동화상 부호화 장치.
  2. 제1항에 있어서,
    상기 부호화부는, 산술 부호화 방식과 가변 길이 부호화 방식 중 적어도 어느 한쪽에 의한 부호화 처리를 실행하는 동화상 부호화 장치.
  3. 제2항에 있어서,
    상기 부호화부가 상기 산술 부호화 방식에 의한 부호화 처리를 실행할 때에, 상기 중간 버퍼는, 상기 양자화부의 상기 양자화 처리의 처리 속도와 상기 부호화부의 상기 산술 부호화 방식에 의한 상기 부호화 처리의 처리 속도의 차이를 흡수하는 것이며, 상기 부호화부가 상기 가변 길이 부호화 방식에 의한 부호화 처리를 실행할 때에, 상기 중간 버퍼는, 상기 양자화부의 상기 양자화 처리의 처리 속도와 상기 부호화부의 상기 가변 길이 부호화 방식에 의한 상기 부호화 처리의 처리 속도의 차이를 흡수하는 동화상 부호화 장치.
  4. 제1항에 있어서,
    상기 중간 버퍼의 상기 데이터 축적량이 큰지 작은지의 판정은, 상기 데이터 축적량이 소정의 임계값보다도 큰지, 혹은 상기 데이터 축적량이 상기 소정의 임계값보다도 작은지를 판정함으로써 실행되는 동화상 부호화 장치.
  5. 제2항에 있어서,
    상기 부호화부는, 지수 골롬(Golomb) 부호화부와 가변 길이 부호화 처리부와 산술 부호화 처리부를 포함하고, 상기 지수 골롬 부호화부는, 부호화해야 할 신택스 요소를, 프리픽스(prefix)와 세퍼레이터와 서픽스(suffix)를 포함하는 지수 골롬 부호로 부호화하는 것이며, 상기 가변 길이 부호화 처리부는, 상기 양자화부에 의해 양자화 처리된 상기 주파수 변환부의 상기 주파수 변환 처리의 상기 결과를 지그재그ㆍ스캔에 의해 1차원의 벡터로 변환한 후에, 상기 가변 길이 부호화 방식에 의한 상기 부호화 처리를 실행하는 것이며, 상기 산술 부호화 처리부는, 2치화부와 2치 산술 부호화부와 컨텍스트 계산부에 의해 구성되고, 상기 2치화부는 다치 입력 신호로부터 2치 신호를 생성하고, 상기 2치 신호는 상기 2치 산술 부호화부에 의해 부호화 비트 열로 부호화되고, 상기 컨텍스트 계산부는, 부호화 대상 심볼인 상기 2치 신호의 발생 확률 모델을 근방 심볼의 상황에 따라서 동적으로 계산ㆍ갱신하고, 상기 2치 산술 부호화부는, 상기 컨텍스트 계산부에 의해 계산ㆍ갱신된 상기 발생 확률 모델에 따라서 상기 2치 신호를 상기 부호화 비트 열로 부호화하는 동화상 부호화 장치.
  6. 제5항에 있어서,
    상기 중간 버퍼는, 상기 산술 부호화 처리부의 내부에서 상기 2치화부와 상기 2치 산술 부호화부 사이에 접속된 동화상 부호화 장치.
  7. 제6항에 있어서,
    상기 부호량 셀렉터의 상기 제2 입력 단자에는, 상기 산술 부호화 처리부의 상기 2치 산술 부호화부의 실 부호량이 공급되는 동화상 부호화 장치.
  8. 제1항에 있어서,
    제1 카운터와 제2 카운터와 셀렉터 컨트롤러를 더 구비하고, 상기 제1 카운터는, 상기 양자화부에 의해 양자화 처리되는 부호화 처리 단위인 화상 블록의 번호를 카운트함으로써, 제1 카운트값을 유지하고, 상기 제2 카운터는, 상기 부호화부에 의해 부호화 처리되는 부호화 처리 단위인 화상 블록의 번호를 카운트함으로써, 제2 카운트값을 유지하고, 상기 셀렉터 컨트롤러는, 상기 제1 카운터의 상기 제1 카운트값과 상기 제2 카운터의 상기 제2 카운트값의 차를 판정하고, 상기 제1 카운터의 상기 제1 카운트값과 상기 제2 카운터의 상기 제2 카운트값의 상기 차가 큰 경우에는, 상기 셀렉터 컨트롤러는, 상기 부호화 처리부의 처리 지연 또는 상기 중간 버퍼의 상기 데이터 축적량이 크다고 판정하고, 상기 제1 카운터의 상기 제1 카운트값과 상기 제2 카운터의 상기 제2 카운트값의 상기 차가 작은 경우에는, 상기 셀렉터 컨트롤러는, 상기 부호화 처리부의 처리 지연 또는 상기 중간 버퍼의 상기 데이터 축적량이 작다고 판정하는 동화상 부호화 장치.
  9. 제8항에 있어서,
    상기 양자화부에 의해 양자화 처리되는 상기 부호화 처리 단위인 상기 화상 블록과 상기 부호화부에 의해 부호화 처리되는 상기 부호화 처리 단위인 상기 화상 블록은, 휘도 성분으로 16 화소×16 화소의 사이즈를 갖는 매크로 블록인 동화상 부호화 장치.
  10. 제8항에 있어서,
    상기 양자화부에 의해 양자화 처리되는 상기 부호화 처리 단위인 상기 화상 블록과 상기 부호화부에 의해 부호화 처리되는 상기 부호화 처리 단위인 상기 화상 블록은, 플렉시블한 블록 구조인 코딩 유닛이며, 상기 코딩 유닛은, 64 화소×64 화소의 사이즈의 최대 코딩 유닛으로부터 적응적으로 분할 가능한 블록인 동화상 부호화 장치.
  11. 제1항 내지 제10항 중 어느 한 항에 있어서,
    상기 동화상 부호화 장치는, 움직임 벡터 검출부와 움직임 보상부와 감산기와 역양자화부와 역주파수 변환부와 메모리와 인트라 예측부와 예측 셀렉터부를 더 구비하고, 상기 움직임 벡터 검출부는, 부호화해야 할 동화상 신호와 상기 메모리에 저장된 참조 화상으로부터 움직임 벡터를 생성하고, 상기 움직임 보상부는, 상기 움직임 벡터 검출부로부터 생성되는 상기 움직임 벡터와 상기 메모리에 저장된 상기 참조 화상에 응답하여 움직임 보상 예측 신호를 생성하고, 상기 감산기의 한쪽 입력 단자에는 상기 동화상 신호가 공급되고, 상기 감산기의 다른 쪽 입력 단자에는 상기 움직임 보상부로부터 생성되는 상기 움직임 보상 예측 신호가 공급되고, 상기 감산기의 출력 단자로부터 예측 잔차(殘差)가 생성되고, 상기 감산기의 상기 출력 단자로부터 생성되는 상기 예측 잔차가, 상기 주파수 변환 처리의 상기 입력 신호로서 상기 주파수 변환부의 입력 단자에 공급되고, 상기 양자화부의 상기 양자화 처리의 결과는, 상기 역양자화부와 상기 역주파수 변환부에 의해 국부 복호 처리가 실행되고, 상기 국부 복호 처리의 결과는 상기 참조 화상으로서 상기 메모리에 저장되고, 상기 역양자화부와 상기 역주파수 변환부에 의해 실행되는 상기 국부 복호 처리의 상기 결과는, 인트라 참조 화상으로서 상기 메모리에 저장되고, 상기 동화상 신호가 상기 인트라 예측부의 한쪽 입력 단자에 공급되고, 상기 메모리에 저장된 상기 인트라 참조 화상이 상기 인트라 예측부의 다른 쪽 입력 단자에 공급됨으로써, 상기 인트라 예측부는 상기 한쪽 입력 단자에 공급되는 상기 동화상 신호에 관한 인트라 예측 신호를 생성하고, 상기 예측 셀렉터부는 상기 움직임 보상부로부터 생성되는 상기 움직임 보상 예측 신호와 상기 인트라 예측부로부터 생성되는 상기 인트라 예측 신호 중 어느 하나의 예측 신호를 선택하고, 상기 감산기의 상기 다른 쪽 입력 단자에 선택한 상기 예측 신호를 공급하는 동화상 부호화 장치.
  12. 제1항에 있어서,
    상기 주파수 변환부와 상기 양자화부와 상기 부호화부와 상기 중간 버퍼와 상기 부호량 추정부와 상기 부호량 셀렉터와 상기 레이트 컨트롤러는, 반도체 집적 회로의 1개의 반도체 칩에 집적화된 동화상 부호화 장치.
  13. 제11항에 있어서,
    상기 움직임 벡터 검출부와 상기 움직임 보상부와 상기 감산기와 상기 역양자화부와 상기 역주파수 변환부와 상기 부호화부와 상기 인트라 예측부와 상기 예측 셀렉터부는, 상기 반도체 집적 회로의 상기 1개의 반도체 칩에 또한 집적화된 동화상 부호화 장치.
  14. 제1항에 있어서,
    상기 동화상 부호화 장치는, 규격 H.264와 규격 H.265로부터 임의로 선택된 방식에 준거하여 상기 동화상 신호를 부호화 처리함으로써, 상기 압축 비디오 비트 스트림을 생성하는 동화상 부호화 장치.
  15. 주파수 변환부와 양자화부와 부호화부와 중간 버퍼와 부호량 추정부와 부호량 셀렉터와 레이트 컨트롤러를 구비하는 동화상 부호화 장치의 동작 방법으로서,
    상기 주파수 변환부는, 입력 신호의 주파수 변환 처리를 실행하고, 상기 양자화부는, 상기 주파수 변환부의 상기 주파수 변환 처리의 결과에 관해서, 양자화 처리를 실행하고, 상기 부호화부가 상기 양자화부의 상기 양자화 처리의 결과에 관해서 부호화 처리를 실행함으로써, 상기 부호화부로부터 압축 비디오 비트 스트림이 생성되고, 상기 중간 버퍼는, 상기 양자화부의 출력 단자와 상기 부호화부의 입력 단자 사이에 접속되고, 상기 부호량 추정부의 입력 단자는 상기 양자화부의 상기 출력 단자에 접속되고, 상기 부호량 추정부의 출력 단자로부터 생성되는 추정 부호량이 상기 부호량 셀렉터의 제1 입력 단자에 공급되고, 상기 부호량 셀렉터의 제2 입력 단자에는, 상기 부호화부에 의해 부호화되는 상기 압축 비디오 비트 스트림의 실 부호량이 공급되고, 상기 부호량 셀렉터의 선택 제어 단자에는, 상기 중간 버퍼의 데이터 축적량이 큰지 작은지의 판정 신호가 공급되고, 상기 부호량 셀렉터의 출력 단자는 상기 레이트 컨트롤러의 입력 단자에 접속되고, 상기 레이트 컨트롤러의 출력 신호는 상기 양자화부의 양자화 스케일을 조정하고, 상기 판정 신호가 상기 중간 버퍼의 상기 데이터 축적량이 큰 것을 나타내는 경우에는, 상기 부호량 셀렉터의 상기 제1 입력 단자에 공급되는 상기 부호량 추정부로부터의 상기 추정 부호량이 상기 부호량 셀렉터의 상기 출력 단자에 출력되고, 상기 양자화부의 상기 양자화 스케일이 상기 추정 부호량에 의해 조정되고, 상기 판정 신호가 상기 중간 버퍼의 상기 데이터 축적량이 작은 것을 나타내는 경우에는, 상기 부호량 셀렉터의 상기 제2 입력 단자에 공급되는 상기 부호화부로부터의 상기 실 부호량이 상기 부호량 셀렉터의 상기 출력 단자에 출력되고, 상기 양자화부의 상기 양자화 스케일이 상기 실 부호량에 의해 조정되는 동화상 부호화 장치의 동작 방법.
  16. 제15항에 있어서,
    상기 부호화부는, 산술 부호화 방식과 가변 길이 부호화 방식 중 적어도 어느 한쪽에 의한 부호화 처리를 실행하는 동화상 부호화 장치의 동작 방법.
  17. 제16항에 있어서,
    상기 부호화부가 상기 산술 부호화 방식에 의한 부호화 처리를 실행할 때에, 상기 중간 버퍼는, 상기 양자화부의 상기 양자화 처리의 처리 속도와 상기 부호화부의 상기 산술 부호화 방식에 의한 상기 부호화 처리의 처리 속도의 차이를 흡수하는 것이며, 상기 부호화부가 상기 가변 길이 부호화 방식에 의한 부호화 처리를 실행할 때에, 상기 중간 버퍼는, 상기 양자화부의 상기 양자화 처리의 처리 속도와 상기 부호화부의 상기 가변 길이 부호화 방식에 의한 상기 부호화 처리의 처리 속도의 차이를 흡수하는 동화상 부호화 장치의 동작 방법.
  18. 제15항에 있어서,
    상기 중간 버퍼의 상기 데이터 축적량이 큰지 작은지의 판정은, 상기 데이터 축적량이 소정의 임계값보다도 큰지, 혹은 상기 데이터 축적량이 상기 소정의 임계값보다도 작은지를 판정함으로써 실행되는 동화상 부호화 장치의 동작 방법.
  19. 제16항에 있어서,
    상기 부호화부는, 지수 골롬 부호화부와 가변 길이 부호화 처리부와 산술 부호화 처리부를 포함하고, 상기 지수 골롬 부호화부는, 부호화해야 할 신택스 요소를, 프리픽스와 세퍼레이터와 서픽스를 포함하는 지수 골롬 부호로 부호화하는 것이며, 상기 가변 길이 부호화 처리부는, 상기 양자화부에 의해 양자화 처리된 상기 주파수 변환부의 상기 주파수 변환 처리의 상기 결과를 지그재그ㆍ스캔에 의해 1차원의 벡터로 변환한 후에, 상기 가변 길이 부호화 방식에 의한 상기 부호화 처리를 실행하는 것이며, 상기 산술 부호화 처리부는, 2치화부와 2치 산술 부호화부와 컨텍스트 계산부에 의해 구성되고, 상기 2치화부는 다치 입력 신호로부터 2치 신호를 생성하고, 상기 2치 신호는 상기 2치 산술 부호화부에 의해 부호화 비트 열로 부호화되고, 상기 컨텍스트 계산부는, 부호화 대상 심볼인 상기 2치 신호의 발생 확률 모델을 근방 심볼의 상황에 따라서 동적으로 계산ㆍ갱신하고, 상기 2치 산술 부호화부는, 상기 컨텍스트 계산부에 의해 계산ㆍ갱신된 상기 발생 확률 모델에 따라서 상기 2치 신호를 상기 부호화 비트 열로 부호화하는 동화상 부호화 장치의 동작 방법.
  20. 제19항에 있어서,
    상기 중간 버퍼는, 상기 산술 부호화 처리부의 내부에서 상기 2치화부와 상기 2치 산술 부호화부 사이에 접속된 동화상 부호화 장치의 동작 방법.
KR20140132559A 2013-10-02 2014-10-01 동화상 부호화 장치 및 그 동작 방법 KR20150039582A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2013207144A JP6212345B2 (ja) 2013-10-02 2013-10-02 動画像符号化装置およびその動作方法
JPJP-P-2013-207144 2013-10-02

Publications (1)

Publication Number Publication Date
KR20150039582A true KR20150039582A (ko) 2015-04-10

Family

ID=51661912

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20140132559A KR20150039582A (ko) 2013-10-02 2014-10-01 동화상 부호화 장치 및 그 동작 방법

Country Status (5)

Country Link
US (2) US9961346B2 (ko)
EP (1) EP2858365B1 (ko)
JP (1) JP6212345B2 (ko)
KR (1) KR20150039582A (ko)
CN (1) CN104519354B (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3061233B1 (en) 2013-10-25 2019-12-11 Microsoft Technology Licensing, LLC Representing blocks with hash values in video and image coding and decoding
EP3061253A1 (en) 2013-10-25 2016-08-31 Microsoft Technology Licensing, LLC Hash-based block matching in video and image coding
WO2015101640A1 (en) * 2014-01-03 2015-07-09 Ge Video Compression, Llc Wedgelet-based coding concept
WO2015131325A1 (en) 2014-03-04 2015-09-11 Microsoft Technology Licensing, Llc Hash table construction and availability checking for hash-based block matching
US10368092B2 (en) 2014-03-04 2019-07-30 Microsoft Technology Licensing, Llc Encoder-side decisions for block flipping and skip mode in intra block copy prediction
CN105706450B (zh) 2014-06-23 2019-07-16 微软技术许可有限责任公司 根据基于散列的块匹配的结果的编码器决定
KR102358276B1 (ko) 2014-09-30 2022-02-04 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 비디오 코딩을 위한 해시 기반 인코더 결정
JP6453652B2 (ja) * 2015-01-09 2019-01-16 株式会社東芝 映像伝送システム
CN104967453B (zh) * 2015-06-24 2018-01-05 西北工业大学 基于fpga的多路循环数据压缩器和解压缩器以及方法
WO2017023829A1 (en) * 2015-07-31 2017-02-09 Stc.Unm System and methods for joint and adaptive control of rate, quality, and computational complexity for video coding and video delivery
US10142652B2 (en) * 2016-05-05 2018-11-27 Google Llc Entropy coding motion vector residuals obtained using reference motion vectors
WO2018030291A1 (ja) * 2016-08-10 2018-02-15 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
US10390039B2 (en) * 2016-08-31 2019-08-20 Microsoft Technology Licensing, Llc Motion estimation for screen remoting scenarios
US11095877B2 (en) 2016-11-30 2021-08-17 Microsoft Technology Licensing, Llc Local hash-based motion estimation for screen remoting scenarios
US10142633B2 (en) * 2016-12-21 2018-11-27 Intel Corporation Flexible coding unit ordering and block sizing
KR101960470B1 (ko) * 2017-02-24 2019-07-15 주식회사 칩스앤미디어 오프라인 cabac을 지원하는 비디오 코딩 프로세스의 비트 예측 기반 비트 레이트 컨트롤 방법 및 그 장치
EP3672242B1 (en) * 2018-12-21 2021-08-18 Axis AB A method of encoding a video sequence
WO2020185039A1 (ko) * 2019-03-14 2020-09-17 엘지전자 주식회사 레지듀얼 코딩 방법 및 장치
US11202085B1 (en) 2020-06-12 2021-12-14 Microsoft Technology Licensing, Llc Low-cost hash table construction and hash-based block matching for variable-size blocks
KR102415309B1 (ko) * 2020-06-16 2022-07-01 에스케이하이닉스 주식회사 인터페이스 장치 및 그 동작 방법

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5587735A (en) * 1991-07-24 1996-12-24 Hitachi, Ltd. Video telephone
JPH0530502A (ja) * 1991-07-24 1993-02-05 Hitachi Ltd 一体型テレビ電話機
JPH0723385A (ja) * 1993-06-21 1995-01-24 Nec Corp 高能率符号化装置
JP3755155B2 (ja) * 1994-09-30 2006-03-15 ソニー株式会社 画像符号化装置
TW509849B (en) * 1997-06-16 2002-11-11 Matsushita Electric Ind Co Ltd The image processing device and the image processing method
JP4063202B2 (ja) * 2003-11-20 2008-03-19 セイコーエプソン株式会社 画像データ圧縮装置及びエンコーダ
CN1898965B (zh) * 2003-12-25 2012-04-18 日本电气株式会社 运动图象编码方法和装置
US20060062481A1 (en) * 2004-09-21 2006-03-23 Markus Suvanto Apparatuses, computer program product and method for bit rate control of digital image encoder
WO2006051796A1 (en) * 2004-11-09 2006-05-18 Matsushita Electric Industrial Co., Ltd. Two step arithmetic decoding with conversion into an intermediate format
JP4828925B2 (ja) * 2005-11-30 2011-11-30 パナソニック株式会社 符号化装置
JP4795223B2 (ja) * 2006-01-31 2011-10-19 キヤノン株式会社 画像処理装置
US7486211B2 (en) * 2007-04-13 2009-02-03 Apple Inc. Method and system for entropy coding
JP2009038746A (ja) * 2007-08-03 2009-02-19 Panasonic Corp 画像情報符号化装置
JP4513841B2 (ja) * 2007-08-28 2010-07-28 ソニー株式会社 符号化装置、符号化方法、符号化方法のプログラム及び符号化方法のプログラムを記録した記録媒体
JP2011061320A (ja) * 2009-09-07 2011-03-24 Sony Corp 動き補償装置、符号化装置、復号装置、これらにおける処理方法およびプログラム
US9153037B2 (en) * 2012-01-18 2015-10-06 Panasonic Intellectual Property Management Co., Ltd. Image decoding device, image encoding device, image decoding method, and image encoding method

Also Published As

Publication number Publication date
CN104519354B (zh) 2019-06-11
JP2015073177A (ja) 2015-04-16
US20150092840A1 (en) 2015-04-02
US20180213230A1 (en) 2018-07-26
CN104519354A (zh) 2015-04-15
EP2858365A2 (en) 2015-04-08
US9961346B2 (en) 2018-05-01
JP6212345B2 (ja) 2017-10-11
EP2858365A3 (en) 2015-04-22
EP2858365B1 (en) 2016-12-14

Similar Documents

Publication Publication Date Title
JP6212345B2 (ja) 動画像符号化装置およびその動作方法
CN105379284B (zh) 动态图像编码装置及其动作方法
RU2580066C2 (ru) Эффективное по памяти моделирование контекста
JP6129969B2 (ja) スケーラブルビデオコード化における代替変換
EP2829064B1 (en) Parameter determination for exp-golomb residuals binarization for lossless intra hevc coding
JP5893002B2 (ja) ビデオ符号化におけるレート制御
CA2763211C (en) Image encoding device, image decoding device, image encoding method, and image decoding method
CN112352429B (zh) 对视频数据进行编解码的方法、设备和存储介质
CN113411576A (zh) 使用自适应分量缩放对视频数据进行编码的系统和方法
US20150215621A1 (en) Rate control using complexity in video coding
TW201444350A (zh) 方形區塊預測
JP2015015666A (ja) 動画像符号化装置およびその動作方法
TW201924339A (zh) 藉由調適參數之漸進式修正之二位元算術寫碼
US10021409B2 (en) Apparatuses and methods for estimating bitstream bit counts
US20070133689A1 (en) Low-cost motion estimation apparatus and method thereof
JP2009038746A (ja) 画像情報符号化装置
JP4945513B2 (ja) 可変長復号装置およびそれを用いた動画復号装置
US10992937B2 (en) Coefficient coding with grouped bypass bins
KR20230035300A (ko) 디블록킹 필터링의 경계 필터링 강도 결정 방법 및 장치
JP2008160402A (ja) 符号化装置及び方法並びに画像符号化装置
JP2008289105A (ja) 画像処理装置およびそれを搭載した撮像装置
RU2772813C1 (ru) Видеокодер, видеодекодер и соответствующие способы кодирования и декодирования
CN117280682A (zh) 用于无正则化多假设算术编码的系统和方法
JP2008245237A (ja) 画像処理方法、画像処理装置およびそれを用いた撮像装置
KR20150139354A (ko) 비디오 부호화/복호화를 위한 인터 예측 방법 및 장치

Legal Events

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