KR20130028093A - 동화상 부호화 제어 방법, 동화상 부호화 장치 및 동화상 부호화 프로그램 - Google Patents

동화상 부호화 제어 방법, 동화상 부호화 장치 및 동화상 부호화 프로그램 Download PDF

Info

Publication number
KR20130028093A
KR20130028093A KR1020127028798A KR20127028798A KR20130028093A KR 20130028093 A KR20130028093 A KR 20130028093A KR 1020127028798 A KR1020127028798 A KR 1020127028798A KR 20127028798 A KR20127028798 A KR 20127028798A KR 20130028093 A KR20130028093 A KR 20130028093A
Authority
KR
South Korea
Prior art keywords
encoding
picture
parameter
coding
retry
Prior art date
Application number
KR1020127028798A
Other languages
English (en)
Other versions
KR101389919B1 (ko
Inventor
마사키 기타하라
아츠시 시미즈
나오키 오노
Original Assignee
니폰덴신뎅와 가부시키가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 니폰덴신뎅와 가부시키가이샤 filed Critical 니폰덴신뎅와 가부시키가이샤
Publication of KR20130028093A publication Critical patent/KR20130028093A/ko
Application granted granted Critical
Publication of KR101389919B1 publication Critical patent/KR101389919B1/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/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • 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/177Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
    • 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/114Adapting the group of pictures [GOP] structure, e.g. number of B-frames between two anchor frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at 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/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/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/172Methods 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 picture, frame or field
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • H04N19/194Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive involving only two passes
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation

Landscapes

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

Abstract

본 발명의 동화상 부호화 제어 방법은, GOP 등의 부호화순 픽처군을 단위로서 각 픽처를 부호화하고, CPB 언더플로우가 발생한 경우에는 양자화 파라미터, 프리필터의 필터 강도 등의 부호화 파라미터를 발생 부호량이 감소하도록 변경하며, 변경 후의 부호화 파라미터를 이용하여 부호화 중의 부호화순 픽처군의 선두 픽처부터 재부호화한다.

Description

동화상 부호화 제어 방법, 동화상 부호화 장치 및 동화상 부호화 프로그램{Moving image encoding control method, moving image encoding apparatus and moving image encoding program}
본 발명은, 가상 디코더에서의 부호화 픽처 버퍼(CPB: Coded Picture Buffer) 등의 가상 버퍼의 파탄이 생기지 않도록, 또한 화질의 열화가 커지지 않도록 영상 신호를 부호화하기 위한 동화상 부호화 기술에 관한 것이다.
본원은 2010년 5월 7일에 일본 출원된 특원 2010-106851호, 특원 2010-106852호, 특원 2010-106853호, 특원 2010-106854호 및 특원 2010-106855호에 기초하여 우선권을 주장하고, 그 내용을 여기에 원용한다.
영상 신호의 부호화에서는 디코더를 파탄시키지 않도록 부호화를 행할 필요가 있다. H.264 부호화 방식에서는 디코더를 모델화한 가상 디코더 HRD(Hypothetical Reference Decoder)를 규정하고 있다. H.264의 부호화기는 가상 디코더를 파탄시키지 않도록 부호화를 할 필요가 있다. 본 발명은 가상 디코더의 CPB의 파탄, 구체적으로는 CPB의 언더플로우를 억제하기 위한 기술이다.
도 1에 CPB 언더플로우의 개념도를 나타낸다. 고정 비트 레이트의 경우, 화살표(A1)로 나타내는 바와 같이 그 비트 레이트로 CPB에 부호화 스트림이 입력된다. 각 시각에서의 CPB 내의 부호화 스트림의 데이터량을 「잔부호량」이라고 부른다. 가상 디코더는 각 픽처에 대응한 부호화 스트림을 CPB로부터 뽑아낸다. 그 때에는 순식간에 해당 픽처에 대응한 부호량분만큼 CPB 잔부호량이 감소한다. 고정 비트 레이트의 경우의 예를 나타내었지만, 가변 비트 레이트의 경우도 동일하다.
CPB 언더플로우란, 도 1에 도시된 바와 같이 화살표(A2)로 나타내는 각 시각에서 가상 디코더가 픽처의 부호화 스트림을 뽑아내고자 했을 때에 CPB 내에 해당 픽처의 부호화 스트림이 부족한 상황을 말한다. H.264에 기초한 부호화에서는 부호화를 행하면서 CPB의 상태를 검증하여 CPB 언더플로우를 발생시키지 않는 스트림을 작성할 필요가 있다. 전술한 바와 같이, 가상 디코더의 CPB는 H.264에서 규격화되어 있고, 더욱 상세한 것은 예를 들면 하기의 비특허문헌 1에 기재되어 있다.
또, 다른 부호화 표준에서도 CPB와 같은 개념이 규정되어 있고, 예를 들면 MPEG-2에서는 VBV(Video Buffering Verifier)가 있고, 이러한 디코더의 버퍼 모델을 여기서는 「가상 버퍼」라고 총칭한다. 이하의 설명에서의 「CPB」는 「가상 버퍼」라는 말로 그대로 적용하여 넓은 의미로 해석할 수 있다.
영상 신호의 부호화 방법에는 1패스 부호화와 멀티 패스 부호화라는 기술이 있다. 1패스 부호화에서는 일반적으로 입력 영상의 픽처를 순차적으로 부호화해 간다. 한편, 멀티 패스 부호화에서는 입력 영상을 복수회 부호화한다. 2패스 부호화에서는 1회 부호화한 결과를 이용하여 2번째의 부호화를 행한다. 이하, 1패스 부호화의 종래기술을 「종래기술 a」, 2패스 부호화의 종래기술을 「종래기술 b」로서 설명한다.
<종래기술 a>
1패스 부호화에서는, 입력되는 픽처를 순차적으로 부호화하기 때문에 부호화 대상 픽처로부터 미래 픽처의 성질을 알 수 없다. 따라서, 1패스 부호화에서 CPB 언더플로우를 억제하고자 한 경우, 필요 이상으로 발생 부호량을 억제하여 필요 이상으로 크게 화질을 열화시킬 수 있다. 예를 들면, 특허문헌 1의 기술에서는, 각 픽처의 부호화 전에 과거에 부호화한 결과로부터 얻어진 영상의 복잡도를 GOP의 나머지 영상의 복잡도의 추정값으로 한다. 그 복잡도의 추정값을 전제로 GOP의 나머지 영상의 부호화에 이용할 수 있는 최대의 부호량을 발생시키는 양자화 파라미터를 추정하고, 이를 부호화 대상 픽처의 부호화의 양자화 파라미터의 하한값으로서 이용한다. 추정된 복잡도와 비교하여 GOP의 나머지 영상이 복잡하지 않은 경우에는, 필요 이상으로 부호량을 억제하여 화질 열화를 초래하는 문제가 있는 것을 알 수 있다.
<종래기술 b>
2패스 부호화에서는, 입력 영상의 모든 픽처를 부호화하고 그 때에 발생한 각 픽처의 부호량을 2번째의 부호화에서 이용한다. 이 방법에서는, 1패스 부호화의 경우와 달리 2번째의 부호화시에 영상의 각 부분의 복잡함을 알 수 있기 때문에 화질의 열화를 억제하면서 CPB 언더플로우를 억제할 수 있는 것을 기대할 수 있다. 예를 들면, 특허문헌 2의 기술에서는, 1번째의 부호화에서 각 프레임의 복잡도를 구하고 각 프레임의 할당 부호량을 구한다. 그리고, 이 할당 부호량으로 CPB 언더플로우가 발생하는지를 검증하여 CPB 언더플로우가 생기는 경우에는 할당 부호량을 수정한다. 즉, 각 프레임의 복잡도를 알고 있기 때문에 CPB 언더플로우가 생기는 경우에만 할당 부호량을 수정하는 것이 가능하게 되고, 결과적으로 종래기술 a와 비교하여 화질 열화를 억제하면서 CPB 언더플로우를 억제할 수 있다. 그러나, 이 방법에서는 입력 영상의 모든 프레임을 2회 부호화할 필요가 있기 때문에 연산량이 많아지는 문제가 있다.
특허문헌 1: 일본특개 2006-295535호 공보 특허문헌 2: 일본특개 2003-018603호 공보
비특허문헌 1: 가도노, 기쿠치, 스즈키, "개정 3판 H.264/AVC 교과서", 임프레스 R&D 발행, 2009, pp.189-191.
전술한 종래기술 a에서는, 이미 부호화 완료한 정보만을 이용하여 부호화 제어를 행하기 때문에 필요 이상으로 발생 부호량을 억제하여 큰 화질 열화가 생길 수 있다. 이에 대해, 종래기술 b에 의하면, 화질 열화를 억제하면서 CPB 언더플로우를 억제할 수 있다. 그러나, 이 방법에서는 입력 영상의 모든 프레임을 2회 부호화할 필요가 있기 때문에 연산량이 많아지는 문제가 있다.
본 발명은 상기 과제의 해결을 도모하여 종래의 2패스 부호화(종래기술 b)보다도 적은 연산량으로 CPB 언더플로우를 억제하면서 안정된 화질을 실현하는 것을 목적으로 한다.
본 발명을 설명함에 있어서 「부호화순 픽처군」을 정의한다. 부호화순 픽처군은 화면 내 예측 부호화 픽처(I픽처)를 선두로 하는 소정수의 픽처로 구성되고, 부호화순으로 연속하는 픽처의 집합이다. 전형적인 부호화순 픽처군의 예는 GOP(Group 0f Pictures)이다.
부호화순 픽처군의 개념도를 도 2a~도 2d에 나타낸다. 도 2a~도 2d에 있어서, I는 화면 내 예측 부호화의 대상이 되는 픽처(I픽처), P는 순방향 예측 부호화의 대상이 되는 픽처(P픽처), B는 쌍방향 예측 부호화의 대상이 되는 픽처(B픽처)를 나타내고 있다.
픽처의 표시순이 예를 들면 도 2a에 도시된 바와 같이 I→B→P→B→P→B……의 순이었다고 하자. 본 발명에서 말하는 부호화순 픽처군을 GOP라고 한 경우, 부호화순 픽처군은 도 2b에 도시된 바와 같이 I→P→B→P→…→B→P(I 직전)의 픽처군이 된다.
예를 들면, 부호화순 픽처군을 13픽처 구성으로 한 경우에는, 도 2c에 도시된 바와 같은 부호화순으로 연속한 13픽처가 본 발명에서 말하는 부호화순 픽처군이 된다. 또, 도 2d는 부호화순 픽처군을 2GOP분의 20픽처 구성으로 한 경우의 예를 나타내고 있다.
이상과 같이, 입력 영상의 픽처 열을 부호화순으로 연속하고 소정의 매수로 구성되는 픽처군으로 분할한 픽처의 집합을 부호화순 픽처군이라고 한다. 또, 여기서 「픽처」란 영상이 프로그레시브 형식인 경우에는 프레임이고, 인터레이스 형식인 경우에는 하나의 필드 또는 톱 필드와 보텀 필드를 하나로 한 프레임이다.
본 발명의 제1 실시형태에서는, 부호화순 픽처군을 단위로서 입력 영상의 부호화를 진행한다. 단, 입력 픽처를 부호화할 때마다 CPB가 파탄되지 않는지를 소정의 버퍼 검정 알고리즘에 의해 체크하여 CPB 언더플로우가 생긴 경우에만 부호화 파라미터를 발생 부호량이 적어지도록 변경하여 부호화 중의 부호화순 픽처군을 재부호화한다. 부호화 결과의 출력 버퍼로부터의 출력 계기는 부호화순 픽처군의 부호화가 완료되었을 때로 한다.
변경하는 부호화 파라미터로서는 예를 들면 양자화 파라미터나 프리필터 강도가 있고, 이들 하나 이상을 변경한다. 예를 들면, 양자화 파라미터의 경우에는 양자화 파라미터의 단계 크기를 보다 크게 하여 부호화 파라미터를 발생 부호량이 적어지도록 한다. 또한, 입력 영상에 대한 프리필터의 필터 강도를 변경하는 경우, 블러(blur) 정도를 보다 크게 변경함으로써 발생 부호량을 적게 할 수 있다.
부호화순 픽처군의 재부호화가 완료된 경우, 부호화 파라미터를 통상의 부호화시의 부호화 파라미터 값으로 되돌림으로써 화질의 열화가 다음 부호화순 픽처군까지 파급되는 것을 억제한다. 여기서, 통상의 부호화시의 부호화 파라미터란 재부호화가 아닌 상태일 때에 정해지는 부호화 파라미터라는 의미이다.
또는, 부호화순 픽처군의 재부호화가 완료된 경우에 반드시 부호화 파라미터를 통상의 부호화시의 값으로 되돌리는 것은 아니고, CPB의 잔부호량을 조사하여 잔부호량이 소정의 문턱값 이상일 때에만 부호화 파라미터를 통상의 부호화시의 값으로 되돌리고, 잔부호량이 적을 때에는 부호화 파라미터를 통상의 부호화시의 값으로 되돌리지 않도록 해도 된다. 이렇게 하면, 재부호화가 연속하여 생길 가능성을 적게 할 수 있다.
또, 본 발명의 제2 실시형태에서는, 부호화순 픽처군의 재부호화시에도 각 픽처의 부호화마다 CPB 언더플로우가 발생했는지를 체크하여 CPB 언더플로우가 생긴 경우에는 현재 부호화 중의 부호화순 픽처군의 선두 픽처부터 부호화 파라미터를 변경하여 재부호화한다. 즉, CPB 언더플로우가 발생하는 한 같은 부호화순 픽처군에 대해 복수회 부호화를 반복한다.
이때, 하나의 부호화순 픽처군의 재부호화 횟수를 리트라이 카운트라는 파라미터로 관리하여 재부호화가 생기면 리트라이 카운트의 값을 늘리고, 부호화순 픽처군의 부호화가 완료되었을 때에 리트라이 카운트의 값을 줄인다. 전술한 부호화 파라미터의 값은 리트라이 카운트의 크기에 따라 설정하고, 리트라이 카운트가 클수록 발생 부호량이 적어지는 값을 이용한다. 부호화 파라미터가 양자화 파라미터인 경우에는 리트라이 카운트가 클수록 단계 크기를 크게 하고, 부호화 파라미터가 프리필터의 필터 강도인 경우에는 리트라이 카운트가 클수록 블러(blur) 정도를 크게 한다.
일반적으로 부호화 대상이 되는 영상에는 복잡한 부분과 단순한 부분이 있다. 만약 CPB 언더플로우에 의해 재부호화 대상이 된 부호화순 픽처군이 복잡하든지 단순하든지 재부호화를 1회만 행한다고 하면, 1회의 재부호화에서 CPB 언더플로우를 억제할 필요가 있기 때문에 부호화 파라미터의 변화량을 크게 하여 재부호화의 부호화 파라미터를 설정할 필요가 있다. 그렇다면, 부호화 파라미터의 변화량이 작아도 CPB 언더플로우를 회피할 수 있는 영상의 복잡한 부분에서 재부호화가 생긴 경우에 필요 이상으로 큰 화질 열화가 발생하게 된다. 즉, 영상의 복잡한 부분(고주파수 성분을 많이 포함하는 경우나 시간 방향의 상관이 적은 경우) 등은 정보의 절대량이 많으므로, 약간 부호화 파라미터를 변경한 것만으로 부호량이 많이 줄어들게 되고, 다시 말하면 부호화 파라미터의 변화량이 너무 크면 쓸데없이 화질을 열화시키게 된다.
그래서, 전술한 바와 같이 CPB 언더플로우가 발생하는 한 부호화순 픽처군을 반복하여 부호화하는 것으로 하고 리트라이 카운트를 관리하여 리트라이 카운트의 크기에 따라 부호화 파라미터를 설정함으로써, CPB 언더플로우가 발생한 경우에 부호화 파라미터의 변화량을 작게 억제하여 적절한 부호화 파라미터에서 부호화함으로써 화질 열화를 보다 작게 할 수 있다.
본 발명의 제3 실시형태에서는, 부호화순 픽처군의 부호화가 완료되었을 때에 리트라이 카운트의 값을 무조건으로 줄이는 것이 아니라 부호화순 픽처군의 부호화가 완료된 시점에서 CPB 잔부호량이 소정의 문턱값 이상인 경우에만 리트라이 카운트를 줄인다.
전술한 부호화 파라미터의 값은 리트라이 카운트의 크기에 따라 설정하고, 리트라이 카운트가 클수록 발생 부호량이 적어지는 값을 이용한다. 부호화 파라미터가 양자화 파라미터인 경우에는 리트라이 카운트가 클수록 단계 크기를 크게 하고, 부호화 파라미터가 프리필터의 필터 강도인 경우에는 리트라이 카운트가 클수록 블러(blur) 정도를 크게 한다.
일반적으로 부호화 대상이 되는 영상에는 복잡한 부분과 단순한 부분이 있다. 만약 CPB 언더플로우에 의해 재부호화 대상이 된 부호화순 픽처군이 복잡하든지 단순하든지 재부호화를 1회만 행한다고 하면, 1회의 재부호화에서 CPB 언더플로우를 억제할 필요가 있기 때문에 부호화 파라미터의 변화량을 크게 하여 재부호화의 부호화 파라미터를 설정할 필요가 있다. 그렇다면, 부호화 파라미터의 변화량이 작아도 CPB 언더플로우를 회피할 수 있는 영상의 복잡한 부분에서 재부호화가 생긴 경우에 필요 이상으로 큰 화질 열화가 발생하게 된다. 즉, 영상의 복잡한 부분(고주파수 성분을 많이 포함하는 경우나 시간 방향의 상관이 적은 경우) 등은 정보의 절대량이 많으므로, 약간 부호화 파라미터를 변경한 것만으로 부호량이 많이 줄어들게 되고, 다시 말하면 부호화 파라미터의 변화량이 너무 크면 쓸데없이 화질을 열화시키게 된다.
그래서, 전술한 바와 같이 CPB 언더플로우가 발생하는 한 부호화순 픽처군을 반복하여 부호화하는 것으로 하고 리트라이 카운트를 관리하여 리트라이 카운트의 크기에 따라 부호화 파라미터를 설정함으로써, 부호화 파라미터의 변화량을 적게 억제하여 적절한 부호화 파라미터에서 부호화함으로써 화질 열화를 보다 작게 할 수 있다.
또한, 재부호화시에 리트라이 카운트를 늘려 부호화한 후, 부호화순 픽처군의 부호화가 완료된 시점에서 기본적으로 리트라이 카운트를 줄임으로써 다음 부호화순 픽처군에의 화질 열화의 영향을 적게 하는데, CPB 잔부호량이 소정량 미만이면 리트라이 카운트를 줄이지 않도록 함으로써 다음 부호화순 픽처군의 부호화에서도 재부호화가 생길 가능성을 적게 한다.
본 발명의 제4 실시형태에 있어서 부호화순 픽처군은 반드시 GOP가 아니어도 되지만, 부호화순 픽처군의 선두 픽처는 화면 내 예측 부호화 픽처(I픽처)로 한다. 이 실시형태에서는 부호화순 픽처군을 단위로서 입력 영상의 부호화를 진행한다. 단, 입력 픽처를 부호화할 때마다 CPB가 파탄되지 않는지를 소정의 버퍼 검정 알고리즘에 의해 체크하여 CPB 언더플로우가 발생한 경우에는 부호화 파라미터를 발생 부호량이 적어지도록 변경하여 리트라이 포인트(후술)로 설정된 부호화순 픽처군의 위치부터 재부호화한다. 부호화 결과의 출력 버퍼로부터의 출력 계기는 부호화순 픽처군의 부호화가 완료되고 재부호화하지 않은 것이 확정되었을 때라고 한다.
변경하는 부호화 파라미터로서는 예를 들면 양자화 파라미터나 프리필터 강도가 있고, 이들 하나 이상을 변경한다. 예를 들면, 양자화 파라미터의 경우에는 양자화 파라미터의 단계 크기를 보다 크게 하여 부호화 파라미터를 발생 부호량이 적어지도록 한다. 또한, 입력 영상에 대한 프리필터의 필터 강도를 변경하는 경우, 블러(blur) 정도를 보다 크게 변경함으로써 발생 부호량을 적게 할 수 있다.
부호화순 픽처군의 재부호화가 완료된 경우, 부호화 파라미터를 통상의 부호화시의 부호화 파라미터 값으로 되돌림으로써 화질의 열화가 다음 부호화순 픽처군까지 파급되는 것을 억제한다. 여기서, 통상의 부호화시의 부호화 파라미터란 재부호화가 아닌 상태일 때에 정해지는 부호화 파라미터라는 의미이다.
또는, 부호화순 픽처군의 재부호화가 완료된 경우에 반드시 부호화 파라미터를 통상의 부호화시의 값으로 되돌리는 것은 아니고, CPB의 잔부호량을 조사하여 잔부호량이 소정의 문턱값 이상일 때에만 부호화 파라미터를 통상의 부호화시의 값으로 되돌리고, 잔부호량이 적을 때에는 부호화 파라미터를 통상의 부호화시의 값으로 되돌리지 않도록 해도 된다. 이렇게 하면, 재부호화가 연속하여 생길 가능성을 적게 할 수 있다.
전술한 리트라이 포인트란, 어떤 픽처에서 CPB 언더플로우의 발생에 의해 재부호화할 필요가 있는 경우에 어느 픽처부터 재부호화를 개시하는지를 나타내는 위치 정보이다.
리트라이 포인트는 기본적으로 현재 부호화하고 있는 부호화순 픽처군의 선두 픽처인데, 하나 전에 부호화한 부호화순 픽처군의 선두 픽처인 경우도 있다. 리트라이 포인트를 갱신하는 계기는 이하와 같다.
(1)부호화순 픽처군의 부호화가 완료된 시점에서 CPB 잔부호량이 소정의 문턱값 이상인 경우, 리트라이 포인트를 다음 부호화순 픽처군의 선두 픽처(I픽처)로 설정한다.
(2)부호화순 픽처군의 부호화가 완료된 시점에서 CPB 잔부호량이 소정의 문턱값보다 작은 경우, 리트라이 포인트는 그대로이고 다음 부호화순 픽처군의 선두 픽처의 부호화로 진행한다. 그 부호화순 픽처군의 선두 픽처의 부호화에서 CPB 언더플로우가 발생하지 않은 경우, 리트라이 포인트를 현재 부호화한 부호화순 픽처군의 선두 픽처로 설정한다.
이상과 같이 리트라이 포인트를 설정하는 이유에 대해 설명한다. 리트라이 포인트를 항상 현재 부호화하고 있는 부호화순 픽처군의 선두로 설정하면, 처리 구성이 본 발명보다 간단명료하게 된다. 이하, 이 기술을 「관련기술」이라고 한다. 관련기술의 경우에도 CPB 언더플로우가 발생한 경우에 한해 그것이 생긴 부호화순 픽처군만을 재부호화함으로써 CPB 언더플로우를 억제할 수 있고, 입력 영상의 모든 픽처를 2회 부호화하는 종래기술 b보다도 연산량이 적어져 효과적인 부호량 배분의 제어를 실현할 수 있다. 본 발명은 이 관련 기술보다도 더욱 효과적으로 CPB 언더플로우의 억제에 의한 복호 화상의 화질 열화를 경감하는 부호량 배분의 제어를 실현하는 것을 목적으로 하고 있다.
주지와 같이 I픽처는 다른 픽처 타입과 비교하여 발생 부호량이 많다. 따라서, 어떤 부호화순 픽처군의 부호화가 완료된 시점에서의 CPB 잔부호량이 적은 경우, 다음 부호화순 픽처군의 선두 I픽처에서 CPB 언더플로우가 발생할 가능성이 높다. 이러한 경우, 상기 관련기술에서는 CPB 언더플로우가 발생한 선두 I픽처만을 재부호화함으로써 CPB 언더플로우를 회피할 필요가 있기 때문에, 그 I픽처의 화질이 크게 열화될 우려가 있다.
그래서, 본 실시형태에서는 CPB 잔부호량이 적은 경우, 다음 부호화순 픽처군의 선두 I픽처에서 CPB 언더플로우가 발생했을 때에는 설정된 리트라이 포인트에 의해 그 하나 전의 부호화순 픽처군으로 되돌려 그 선두부터 재부호화한다. 따라서, 하나의 픽처에 큰 화질 열화가 생기는 것을 회피할 수 있다.
본 발명의 제5 실시형태에서는, CPB 언더플로우를 억제하기 위해 종래의 2패스 부호화와 같이 입력 영상의 프레임을 항상 2회 부호화하는 것이 아니라, 원칙은 1패스의 부호화로 하고 CPB 언더플로우가 발생한 경우에 한해 복수 픽처만큼 되돌아가 재부호화하는 것을 기본으로 한다.
또한, 본 실시형태에서는, 부호화순 픽처군의 픽처의 부호화에 있어서 CPB 언더플로우가 발생했을 때에 부호화순 픽처군 내의 어떤 픽처까지 되돌아가 재부호화를 행한다. 어느 픽처까지 되돌아가 재부호화를 행할지는 이용 가능한 메모리양에 따라 미리 결정된다. 여기서, 재부호화시에 되돌아갈 수 있는 최대의 픽처수를 「최대 픽처 간 거리」라고 정의하여 설명한다.
본 실시형태의 처리 개요는 이하와 같다. 처음에, 외부로부터 주어진 이용 가능한 메모리양의 정보에 기초하여 재부호화시에 되돌아갈 수 있는 최대의 픽처수를 구하여 최대 픽처 간 거리로 하고 이 값을 기억한다.
이는 이하의 이유에 의한다. 재부호화를 위해서는 입력 버퍼에 부호화 대상의 픽처의 영상 신호를 저장해 둘 필요가 있고, 또한 출력 버퍼에는 재부호화하지 않는 것이 확정되어 출력 버퍼로부터의 부호화 결과의 출력이 끝날 때까지 부호화 결과의 부호화 스트림을 유지해 둘 필요가 있다. 만약 사용 가능한 메모리양이 충분히 존재하는 경우에는, 입력 버퍼와 출력 버퍼 각각에 부호화순 픽처군의 픽처 수분(數分)의 메모리 용량을 갖게 함으로써 CPB 언더플로우 발생시의 재부호화를 부호화순 픽처군을 단위로서 부호화순 픽처군의 선두부터 행할 수 있다.
그러나, 반드시 메모리가 필요한 만큼 사용할 수 있다고는 할 수 없으므로, 사전에 사용 가능한 메모리양으로부터 재부호화시에 되돌아갈 수 있는 최대의 픽처수인 최대 픽처 간 거리를 산출해 둔다.
본 실시형태에서는 부호화순 픽처군을 단위로서 입력 영상의 부호화를 진행한다. 단, 입력 픽처를 부호화할 때마다 CPB가 파탄되지 않는지를 소정의 버퍼 검정 알고리즘에 의해 체크하여 CPB 언더플로우가 발생한 경우에만 부호화 파라미터를 발생 부호량이 적어지도록 변경하여 부호화 중의 부호화순 픽처군을 재부호화한다. 단, 부호화 중의 부호화순 픽처군의 어느 픽처까지 되돌아가 재부호화할지에 대해서는 다음 세 조건을 만족시키는 픽처로 한다.
·조건 1: 부호화 중의 부호화순 픽처군에 포함될 것.
·조건 2: CPB 언더플로우가 발생한 픽처를 기준으로 최대 픽처 간 거리에 포함될 것.
·조건 3: 조건 1, 2를 만족시키는 픽처 중에서 CPB 언더플로우가 발생한 픽처로부터 가장 먼 픽처일 것.
이 재부호화를 개시하는 픽처를 리트라이 포인트라고 한다. 리트라이 포인트는 예를 들면 최대 픽처 간 거리에 있는 선두 픽처가 하나 전의 부호화순 픽처군 내이면, 현재 부호화 중의 부호화순 픽처군의 선두 픽처이고, 그렇지 않으면 최대 픽처 간 거리에 있는 선두 픽처, 즉 최대 픽처 간 거리만큼 떨어진 시간적으로 가장 오래전에 부호화된 픽처가 된다.
재부호화시에 변경하는 부호화 파라미터로서는 예를 들면 양자화 파라미터나 프리필터 강도가 있고, 이들 하나 이상을 변경한다. 예를 들면, 양자화 파라미터의 경우에는 양자화 파라미터의 단계 크기를 보다 크게 하여 부호화 파라미터를 발생 부호량이 적어지도록 한다. 또한, 입력 영상에 대한 프리필터의 필터 강도를 변경하는 경우, 블러(blur) 정도를 보다 크게 변경함으로써 발생 부호량을 적게 할 수 있다.
재부호화에 의해 현재 부호화 중의 부호화순 픽처군의 부호화가 완료된 경우, 부호화 파라미터를 통상의 부호화시의 부호화 파라미터 값으로 되돌림으로써 화질의 열화가 다음 부호화순 픽처군까지 파급되는 것을 억제한다. 여기서, 통상의 부호화시의 부호화 파라미터란 재부호화가 아닌 상태일 때에 정해지는 부호화 파라미터라는 의미이다.
또는, 부호화순 픽처군의 재부호화가 완료된 경우에 반드시 부호화 파라미터를 통상의 부호화시의 값으로 되돌리는 것은 아니고, CPB의 잔부호량을 조사하여 잔부호량이 소정의 문턱값 이상일 때에만 부호화 파라미터를 통상의 부호화시의 값으로 되돌리고, 잔부호량이 적을 때에는 부호화 파라미터를 통상의 부호화시의 값으로 되돌리지 않도록 해도 된다. 이렇게 하면, 재부호화가 연속하여 생길 가능성을 적게 할 수 있다.
본 발명의 제1 실시형태는, 입력 영상의 모든 프레임을 2회 부호화하는 종래의 2패스 부호화(종래기술 b)와 달리 CPB 언더플로우가 발생한 경우에 한해 부호화순 픽처군을 2회 부호화한다. 재부호화시에는 CPB 언더플로우를 억제하는 부호화 파라미터에서 부호화를 행한다. 이 때문에, 필요한 경우만 종래기술 b와 같이 CPB 언더플로우를 억제하면서도 종래기술 b보다도 연산량을 삭감할 수 있다.
본 발명의 제2 및 제3 실시형태는, 입력 영상의 모든 프레임을 2회 부호화하는 종래의 2패스 부호화(종래기술 b)와 달리 CPB 언더플로우가 발생한 경우에 한해 부호화순 픽처군을 복수회 부호화한다. 제1 실시형태와 같이 재부호화시에는 CPB 언더플로우를 억제하는 부호화 파라미터에서 부호화를 행한다. 이 때문에, 필요한 경우만 종래기술 b와 같이 CPB 언더플로우를 억제하면서도 종래기술 b보다도 연산량을 삭감할 수 있다.
본 발명의 제2 및 제3 실시형태에서는, 리트라이 카운트를 관리함으로써 재부호화시에서의 부호화 파라미터의 변화량을 작게 억제하여 CPB 언더플로우를 억제할 수 있으므로, 재부호화에 의한 화질의 열화를 적게 할 수 있다.
특히, 본 발명의 제3 실시형태에 의하면, 재부호화 후의 CPB 잔부호량이 적은 경우에는 부호화 파라미터를 재부호화시와 같이 유지하므로, 다시 재부호화의 발생을 억제할 수 있다.
본 발명의 제4 실시형태는, 입력 영상의 모든 프레임을 2회 부호화하는 종래의 2패스 부호화(종래기술 b)와 달리 CPB 언더플로우가 발생한 경우에 한해 부호화순 픽처군을 2회 부호화한다. 재부호화시에는 CPB 언더플로우를 억제하는 부호화 파라미터에서 부호화를 행한다. 이 때문에, 필요한 경우만 종래기술 b와 같이 CPB 언더플로우를 억제하면서도 종래기술 b보다도 연산량을 삭감할 수 있다.
특히, 본 발명의 제4 실시형태에 의하면, 부호화순 픽처군에서 발생 부호량이 많은 선두 I픽처의 CPB 언더플로우의 발생을 효과적으로 억제할 수 있으므로, I픽처의 화질이 크게 열화되는 것을 막을 수 있다.
본 발명의 제5 실시형태에 의하면, 입력 영상의 모든 프레임을 2회 부호화하는 종래의 2패스 부호화(종래기술 b)와 달리 CPB 언더플로우가 발생한 경우에 한해 부호화순 픽처군 내의 리트라이 포인트로서 정해진 픽처부터 재부호화한다. 재부호화시에는 CPB 언더플로우를 억제하는 부호화 파라미터에서 부호화를 행한다. 이 때문에, 필요한 경우만 종래기술 b와 같이 CPB 언더플로우를 억제하면서도 종래기술 b보다도 연산량을 삭감할 수 있다. 또한, 재부호화에 필요한 메모리양에 따라 정해진 리트라이 포인트부터 재부호화가 행해지기 때문에, 메모리의 유효 활용이 가능하게 된다.
도 1은 CPB 언더플로우를 설명하기 위한 그래프이다.
도 2a는 픽처를 표시순으로 나타내는 개념도이다.
도 2b는 GOP로 한 경우의 부호화순 픽처군을 나타내는 개념도이다.
도 2c는 13픽처 구성으로 한 경우의 부호화순 픽처군을 나타내는 개념도이다.
도 2d는 2GOP분의 20픽처 구성으로 한 경우의 부호화순 픽처군을 나타내는 개념도이다.
도 3은 본 발명의 제1 실시예에 관한 동화상 부호화 제어 방법을 나타내는 흐름도이다.
도 4는 본 발명의 제1 실시예에 관한 동화상 부호화 제어 방법의 변형예를 나타내는 흐름도이다.
도 5는 GOP의 개념도이다.
도 6은 본 발명의 제1 실시예에 관한 동화상 부호화 장치를 나타내는 블록도이다.
도 7은 본 발명의 실시예에 의해 재부호화가 행해졌을 때의 부호화 파라미터의 변경을 나타내는 개념도이다.
도 8은 본 발명의 실시예에 의해 재부호화가 행해졌을 때의 CPB 잔부호량의 천이를 나타내는 그래프이다.
도 9는 본 발명의 제2 실시예에 관한 동화상 부호화 제어 방법을 나타내는 흐름도이다.
도 10은 본 발명의 제2 실시예에 관한 동화상 부호화 장치를 나타내는 블록도이다.
도 11은 본 발명의 실시예에 의해 행해지는 리트라이 카운트, 부호화 파라미터의 추이를 나타내는 개념도이다.
도 12는 본 발명의 제3 실시예에 관한 동화상 부호화 제어 방법을 나타내는 흐름도이다.
도 13은 본 발명의 제3 실시예에 관한 동화상 부호화 장치를 나타내는 블록도이다.
도 14는 본 발명의 제4 실시예에 관한 동화상 부호화 제어 방법을 나타내는 흐름도이다.
도 15는 본 발명의 제4 실시예에 관한 동화상 부호화 제어 방법의 변형예를 나타내는 흐름도이다.
도 16은 본 발명의 제4 실시예에 관한 동화상 부호화 장치를 나타내는 블록도이다.
도 17은 본 발명의 제5 실시예에 관한 동화상 부호화 제어 방법을 나타내는 흐름도이다.
도 18은 본 발명의 제5 실시예에 관한 동화상 부호화 제어 방법의 변형예를 나타내는 흐름도이다.
도 19는 본 발명의 제5 실시예에 관한 동화상 부호화 장치를 나타내는 블록도이다.
도 20은 본 발명의 제5 실시예에서의 참조 화상용의 필요 메모리양을 설명하는 개념도이다.
도 21은 본 발명의 제5 실시예에 있어서 리트라이 포인트를 최대 픽처 간 거리로 제한하는 것에 의한 입력 버퍼와 출력 버퍼의 메모리 삭감을 설명하는 도면이다.
이하, 본 발명의 실시형태를 도면을 이용하여 상세하게 설명한다.
<제1 실시예>
도 3은 본 발명의 제1 실시예에 관한 동화상 부호화 제어 방법을 나타내는 처리 흐름도이다.
우선, 입력 영상 신호에서의 부호화가 종료된 픽처의 다음 픽처를 부호화 대상으로 설정한다(단계 S101). 부호화 대상으로 설정한 입력 픽처를 H.264 그 밖의 소정의 부호화 방식에 의해 부호화한다(단계 S102). 입력 픽처의 부호화에 의해 CPB 언더플로우가 발생했는지를 판정하여(단계 S103), CPB 언더플로우가 발생한 경우에는 단계 S107로 진행한다. 또, CPB 언더플로우가 발생했는지는 예를 들면 H.264의 표준 규격 등에서 이용되고 있는 방법으로 판정할 수 있다.
CPB 언더플로우가 발생하지 않았으면, 최종 픽처의 부호화가 완료되었는지를 판정하여(단계 S104), 최종 픽처까지 부호화가 완료되었다면 부호화 처리를 종료한다.
그렇지 않으면, 부호화순 픽처군의 부호화가 완료되었는지를 판정한다(단계 S105). 완료되지 않았으면, 단계 S101로 되돌아가 다음 픽처에 대해 마찬가지로 부호화 처리를 계속한다. 부호화순 픽처군의 부호화가 완료된 경우, 부호화 파라미터가 부호화순 픽처군의 재부호화(리트라이)에서 변경되어 있으면, 부호화 파라미터를 통상의 부호화시의 값으로 되돌리고(단계 S106), 단계 S101로 되돌아가 다음 부호화순 픽처군의 선두 픽처부터 부호화 처리를 한다.
단계 S103에서 CPB 언더플로우가 발생하였음이 검출된 경우, 현재 부호화순 픽처군은 재부호화가 행해졌는지(리트라이 완료인지)를 판정한다(단계 S107). 리트라이 완료인 경우, 부호화순 픽처군을 재부호화해도 CPB 언더플로우를 회피할 수 없으므로 부호화를 종료한다. 리트라이 완료가 아닌 경우, 현재 부호화순 픽처군의 재부호화를 위해 현재 부호화순 픽처군의 선두 픽처를 부호화 대상으로 설정한다(단계 S108). 그리고, 2개의 부호화 파라미터(양자화 파라미터, 프리필터 강도) 중 하나 이상을 변경하고(양자화 파라미터는 단계 크기를 보다 크게, 필터 강도의 경우는 블러(blur) 정도를 보다 크게 변경)(단계 S109), 단계 S102로 되돌아가 부호화 중의 부호화순 픽처군을 재부호화한다.
즉, 입력 영상의 모든 프레임을 2회 부호화하는 종래기술 b와 달리, CPB 언더플로우가 발생한 경우에 한해 부호화순 픽처군(예를 들면, GOP)을 2회 부호화한다. 2회째의 부호화시에는 CPB 언더플로우를 억제하는 부호화 파라미터에서 부호화를 행한다. CPB 언더플로우가 발생한 경우에 한해 그것이 생긴 부호화순 픽처군만을 재부호화함으로써 CPB 언더플로우를 억제한다. 따라서, 입력 영상의 모든 픽처를 2번 부호화하는 종래기술 b와 비교하여 연산량을 삭감할 수 있다.
도 4는 본 발명의 제1 실시예에 관한 동화상 부호화 제어 방법의 변형예를 나타내는 처리 흐름도이다. 본 변형예는, 도 3에 도시된 단계 S106의 처리를 도 4에 도시된 단계 S161~S163의 처리로 치환하여 실시할 수도 있다. 단계 S106 이외의 처리는 도 3과 같다.
도 3의 단계 S105의 처리 후, 부호화 파라미터가 리트라이에서 변경되어 있는지를 판정한다(단계 S161). 리트라이에서 변경되지 않았으면, 도 3의 단계 S101로 되돌아간다. 리트라이에서 변경되어 있으면, 다음에 CPB 잔부호량이 소정의 문턱값 이상인지를 판정한다(단계 S162). 소정의 문턱값 미만이면 부호화 파라미터를 재부호화에서 이용한 상태 그대로 하고, 소정의 문턱값 이상인 경우에만 부호화 파라미터를 원래의 디폴트 부호화 파라미터로 되돌린다(단계 S163). 그 후에, 도 3의 단계 S101로 되돌아가 다음 부호화순 픽처군의 부호화로 이동한다.
도 4에 도시된 변형예에서는, 이상과 같이 부호화순 픽처군의 부호화가 완료된 시점에서 CPB 잔부호량이 소정량을 넘는 경우에만 부호화 파라미터를 통상의 부호화시의 값으로 되돌린다. 이는 다음의 이유에 의한다. 부호화순 픽처군의 부호화가 완료되었다고 해도, CPB 잔부호량이 적은 경우 부호화 파라미터를 통상의 부호화시의 값으로 되돌리면 발생 부호량이 보다 많아지기 때문에, 다음 부호화순 픽처군의 부호화에서 CPB 언더플로우가 발생할 가능성이 높아진다. 도 4의 처리에서는 CPB 잔부호량이 적은 경우에는 부호화 파라미터를 변경하지 않기 때문에, 도 3의 처리에 비해 다음 부호화순 픽처군의 부호화에서의 재부호화의 발생이 억제되고 연산량이 더욱 삭감된다.
이상과 같이, 본 실시형태에서는 재부호화시에 부호화 파라미터를 변경한다. 여기서는, 부호화시에 입력 영상에 대해 프리필터를 적용하는 것으로 하고, 변경하는 부호화 파라미터로서는 양자화 파라미터와 프리필터 강도라고 한다. 이 2개의 부호화 파라미터의 쌍방을 변경해도 되고, 어느 한쪽만을 변경해도 된다.
양자화 파라미터에 대해서는, 통상의 부호화시의 양자화 파라미터 값에 대해 소정의 오프셋 값을 더하고 보다 큰 양자화 파라미터에서 재부호화한다.
프리필터에 대해서는, 본 실시예에서는 가우시안 필터를 이용하는 것으로 한다. 가우시안 필터는 다음 식(1)에서 나타나는 가우스 분포를 x, y에 대해 샘플링함으로써 작성할 수 있다.
g(x,y)={1/(2πσ2)}×exp{-(x2+y2)/(2σ2)}…(1)
상기 식(1)으로부터 알 수 있는 바와 같이, σ의 값이 클수록 블러(blur) 정도가 커진다. 블러(blur) 정도가 클수록 고주파수 성분이 줄어들기 때문에, 부호화시의 발생 부호량이 줄어들게 된다. 가우시안 필터의 상세는 예를 들면 이하의 참고문헌 1에 기재되어 있다.
〔참고문헌 1〕: 오쿠토미, 오자와, 시미즈, 호리, "디지털 화상 처리", 재단법인 화상 정보 교육 진흥 협회, 2006, pp.108-110.
σ=0의 경우에는 가우시안 필터를 작동시키지 않는 것으로 하고, 예를 들면 디폴트 부호화 파라미터는 σ0=0, 재부호화용 부호화 파라미터는 σ1>0으로 한다. 또, 본 발명에서는 로우 패스 필터의 종류는 묻지 않는다. 또한, 재부호화시의 블러(blur) 정도가 강한 쪽도 미리 임의로 정해도 된다. 예를 들면, 디폴트 부호화 파라미터의 σ0은 픽처마다의 복잡도에 따라 변경하고, σ1은 σ0에 소정의 오프셋을 더한 것인 구성이어도 된다.
부호화는 H.264의 규격에 따른 부호화를 행하는 것으로 한다. 또한, 본 실시예에서는 부호화순 픽처군은 GOP라고 하고, 부호화할 때의 GOP의 개념도를 도 5에 나타낸다. 하나의 GOP는 10픽처로 구성되고, 표시순으로 I픽처를 선두로 B픽처와 P픽처가 교대로 나열되는 것으로 한다.
본 발명의 제1 실시예에 관한 장치 구성을 도 6에 나타낸다. 입력 버퍼(110)는 입력되는 영상 신호를 축적함과 동시에 부호화부(120)에 부호화 대상의 영상 신호를 출력한다. 또, 입력 버퍼(110)는 후술하는 CPB 관리부(140)로부터 CPB 언더플로우가 발생하고 재부호화를 행하는 것을 나타내는 정보(리트라이 정보)를 받은 경우, 부호화 중의 GOP의 선두 픽처부터 영상 신호를 다시 부호화부(120)에 출력한다. 또한, 리트라이 정보를 받지 않고 GOP의 부호화가 완료된 경우, 입력 버퍼(110)는 축적되어 있던 그 GOP의 영상 신호를 파기한다.
부호화부(120)는 입력 버퍼(110)로부터 입력된 영상 신호를 부호화하고, 부호화 스트림을 출력 버퍼(130)에 출력한다. 또한, 입력된 영상 신호를 부호화했을 때에 발생한 부호량(부호량 정보)을 CPB 관리부(140)에 출력한다. 또, 부호화부(120)는 CPB 관리부(140)로부터 리트라이 정보를 받은 경우, 부호화 중의 GOP의 선두 픽처로부터의 영상 신호가 입력 버퍼(110)로부터 다시 입력됨과 동시에 파라미터 조정부(150)로부터 재부호화용 부호화 파라미터가 입력되기 때문에, 입력된 재부호화용 부호화 파라미터를 이용하여 재부호화를 행한다.
출력 버퍼(130)는 GOP의 부호화 스트림이 전부 축적된 단계에서 그 GOP의 부호화 스트림을 출력하고, 한편으로 CPB 관리부(140)로부터 리트라이 정보를 받은 경우, 부호화 중의 GOP에 대해 축적한 부호화 스트림을 파기한다.
CPB 관리부(140)는, 부호화부(120)로부터 입력되는 부호량 정보를 이용하여 시각과 함께 변화하는 CPB의 잔부호량을 구한다. 즉, 도 1의 개념도에서 나타낸 CPB의 잔부호량을 구한다. 그리고, CPB 언더플로우가 발생한 경우, 리트라이 정보를 입력 버퍼(110), 부호화부(120), 파라미터 조정부(150), 출력 버퍼(130)에 출력하고, CPB 언더플로우가 발생하였음을 통지한다.
파라미터 조정부(150)는 CPB 관리부(140)로부터 리트라이 정보를 받은 경우, 전술한 바와 같이 재부호화용 부호화 파라미터를 부호화부(120)에 입력한다. 이에 의해, 부호화부(120)는 재부호화시에는 같은 GOP에 대해 발생 부호량이 적어지는 부호화 파라미터를 이용하여 부호화를 하게 된다.
본 실시예에서의 부호화 처리의 흐름에 대해 도 3의 흐름도에 따라 설명한다. 이하의 설명에서는 S101, S102, … 등과 같이 문장 중에 도 3의 흐름도와의 대응을 기재한다.
어떤 GOP의 부호화를 행하는 처리에 대해 이하와 같이 3가지 케이스로 나누어 설명한다.
·[케이스 1]: GOP의 부호화에서 CPB 언더플로우가 발생하지 않았다.
·[케이스 2]: GOP의 부호화에서 CPB 언더플로우가 발생하고, 재부호화에서 회피할 수 있었다.
·[케이스 3]: GOP의 부호화에서 CPB 언더플로우가 발생하고, 재부호화에서도 회피할 수 없었다.
[케이스 1의 처리예]
우선, GOP의 부호화에서 CPB 언더플로우가 발생하지 않은 경우의 케이스 1에 대해 설명한다. GOP의 픽처가 입력 버퍼(110)에 입력되면, 입력 버퍼(110)는 그 픽처를 축적함과 동시에 부호화부(120)에 그 픽처를 부호화 대상 픽처로서 입력한다(S101). 그리고, 부호화부(120)는 그 픽처를 부호화하고, 출력 버퍼(130)에 부호화 스트림을 출력함과 동시에(출력 버퍼(130)는 그 부호화 스트림은 출력하지 않고 축적함), 그 픽처에 관한 CPB 관리부(140)에 부호량 정보를 출력한다(S102).
여기서, 부호화에서는 디폴트 부호화 파라미터가 이용되고, 디폴트 부호화 파라미터에 대응한 프리필터 강도로 부호화 대상 픽처에 프리필터부(121)에 의한 필터링 처리가 적용되며, 본 픽처에서 발생한 DCT 계수는 디폴트 부호화 파라미터에 따른 양자화 파라미터에서 양자화부(122)에 의해 양자화된다.
CPB 관리부(140)는 그 픽처에 대해 부호화부(120)로부터 입력된 부호량 정보를 기초로 CPB 잔부호량을 계산하고, 이 예에서는 CPB 언더플로우가 발생하지 않기 때문에 리트라이 정보의 출력은 하지 않는다(S103). 부호화 대상 픽처가 입력 영상 신호 중의 최종 픽처이면, 출력 버퍼(130)는 축적되어 있는 부호화 스트림을 출력하고 부호화 처리가 완료된다(S104). 혹은 부호화 대상 픽처가 GOP의 최종 픽처이면, 출력 버퍼(130)는 축적되어 있던 부호화 스트림을 출력함과 동시에, 입력 버퍼(110)는 축적되어 있던 픽처를 파기하고 다음 GOP의 처음 픽처의 부호화 처리로 이동한다(S105). 여기서, 그 GOP에서는 재부호화가 발생하지 않았기 때문에, 부호화 파라미터에 변경을 가하지 않고 다음 GOP의 처음 픽처의 부호화 처리로 이동한다(S106).
[케이스 2의 처리예]
다음에, GOP의 부호화에서 CPB 언더플로우가 발생하고 재부호화에서 회피할 수 있었던 경우의 케이스 2에 대해 설명한다. GOP의 픽처가 입력 버퍼(110)에 입력되면, 입력 버퍼(110)는 그 픽처를 축적함과 동시에, 부호화부(120)에 그 픽처를 부호화 대상 픽처로서 입력한다(S101). 그리고, 부호화부(120)는 그 픽처를 부호화하고, 출력 버퍼(130)에 부호화 스트림을 출력함과 동시에(출력 버퍼(130)는 그 부호화 스트림은 출력하지 않고 축적함), 그 픽처에 관한 CPB 관리부(140)에 부호량 정보를 출력한다(S102). 여기서, 부호화에서는 디폴트 부호화 파라미터가 이용된다.
CPB 관리부(140)는, 그 픽처에 대해 부호화부(120)로부터 입력된 부호량 정보를 기초로 CPB 잔부호량을 계산한다. 이 결과, 그 픽처에 대해 CPB 관리부(140)가 CPB 언더플로우를 검지한 경우, CPB 관리부(140)는 부호화부(120), 파라미터 조정부(150), 입력 버퍼(110), 출력 버퍼(130)에 리트라이 정보를 출력한다(S103).
부호화 중의 GOP에 대해 아직 리트라이가 발생하지 않은 경우(S107), 입력 버퍼(110)는 축적되어 있던 부호화 중의 GOP의 선두 픽처를 부호화부(120)에 출력함과 동시에(S108), 파라미터 조정부(150)는 부호화부(120)에 재부호화용 부호화 파라미터를 출력한다(S109). 또, 출력 버퍼(130)는 부호화 중의 GOP의 부호화 스트림을 파기한다. 그리고, 부호화부(120)는 재부호화용 부호화 파라미터를 이용하여 입력된 GOP의 선두 픽처를 부호화한다.
여기서, 부호화에서는 재부호화용 부호화 파라미터가 이용되고, 재부호화용 부호화 파라미터에 대응한 프리필터 강도(디폴트 부호화 파라미터보다 블러(blur) 정도가 큼)로 부호화 대상 픽처에 프리필터부(121)에 의한 프리필터링 처리가 적용되며, 본 픽처에서 발생한 DCT 계수는 재부호화용 부호화 파라미터에 따른 양자화 파라미터(디폴트 부호화 파라미터보다 양자화 단계 크기가 큼)에서 양자화부(122)에 의해 양자화된다.
이후, CPB 언더플로우가 발생하지 않는 한 그 GOP의 픽처가 순차적으로 입력 버퍼(110)로부터 부호화부(120)에 입력되고, 부호화부(120)에 의해 부호화 처리가 행해진다. 그리고, GOP의 최종 픽처가 부호화가 완료된 경우(S105), 출력 버퍼(130)로부터 그 GOP의 부호화 스트림이 출력됨과 동시에, 부호화부(120)는 부호화 파라미터를 디폴트 부호화 파라미터로 설정하고(S106), 다음 GOP의 부호화 처리로 진행한다. 또, 입력 영상의 최종 픽처의 부호화가 완료된 경우의 동작은 전술한 케이스 1의 경우와 같이 동작한다.
재부호화가 행해졌을 때의 부호화 파라미터의 변경의 개념도를 도 7에 나타낸다. 도 7의 예에서는, 2번째의 GOP2의 6번째 픽처의 부호화에서 CPB 언더플로우가 발생하였으므로, 발생 부호량을 억제하는 재부호화용 부호화 파라미터를 설정하여 GOP2의 선두 I픽처부터 재부호화하고 있다. 재부호화에 의해 CPB 언더플로우의 발생이 억제되었으므로, 다음 GOP3의 부호화에서는 재부호화용 부호화 파라미터를 디폴트 부호화 파라미터로 되돌려 부호화 처리를 계속한다.
재부호화가 행해졌을 때의 CPB 잔부호량의 천이의 개념도를 도 8에 나타낸다. 굵은 선으로 나타낸 선이 재부호화 후의 CPB 잔부호량이다. 재부호화에서는 프리필터에서 블러(blur) 정도를 강하게 하고, 양자화 파라미터도 디폴트 부호화 파라미터보다도 크게 하기 때문에 발생 부호량이 억제되고, 예를 들면 도 8과 같은 천이가 행해지며 CPB 언더플로우가 억제된다.
[케이스 3의 처리예]
마지막으로, GOP의 부호화에서 CPB 언더플로우가 발생하고 재부호화에서도 회피할 수 없었던 경우의 케이스 3에 대해 설명한다. 이 경우, CPB 관리부(140)에 의해 CPB 언더플로우가 검지되고 GOP의 재부호화를 행하는 동작은 케이스 2와 같다. 이 GOP의 재부호화 중에 CPB 언더플로우가 발생한 경우, 부호화를 완료한다(S107). 또, 부호화를 완료하는 것이 아니라, 저속도촬영을 허용하고 부호화를 완료하지 않으며 CPB 언더플로우가 발생한 픽처의 부호화 데이터를 파기하여 다음 픽처를 부호화하도록 처리해도 된다.
<제2 실시예>
이하, 본 발명의 제2 실시예에 대해 설명한다. 도 9는 본 발명의 제2 실시예에 관한 동화상 부호화 제어 방법을 나타내는 처리 흐름도이다.
우선, 입력 영상 신호에서의 부호화가 종료된 픽처의 다음 픽처를 부호화 대상으로 설정한다(단계 S201). 부호화 대상으로 설정한 입력 픽처를 H.264 그 밖의 소정의 부호화 방식에 의해 부호화한다(단계 S202). 입력 픽처의 부호화에 의해 CPB 언더플로우가 발생했는지를 판정하여(단계 S203), CPB 언더플로우가 발생한 경우에는 단계 S208로 진행한다. 또, CPB 언더플로우가 발생했는지는 예를 들면 H.264의 표준 규격 등에서 이용되고 있는 방법으로 판정할 수 있다.
CPB 언더플로우가 발생하지 않았으면, 최종 픽처의 부호화가 완료되었는지를 판정하여(단계 S204), 최종 픽처까지 부호화가 완료되었다면 부호화 처리를 종료한다.
그렇지 않으면, 부호화순 픽처군의 부호화가 완료되었는지를 판정한다(단계 S205). 완료되지 않았으면, 단계 S201로 되돌아가 다음 픽처에 대해 마찬가지로 부호화 처리를 계속한다. 부호화순 픽처군의 부호화가 완료된 경우, 리트라이 카운트가 1이상이면 1만큼 줄인다(단계 S206). 또, 리트라이 카운트의 초기값은 0이다. 그 후, 리트라이 카운트에 기초하여 미리 리트라이 카운트에 따라 정해진 부호화 파라미터를 설정하고(단계 S207), 단계 S201로 되돌아가 다음 부호화순 픽처군의 선두 픽처부터 부호화 처리를 행한다.
단계 S203에서 CPB 언더플로우가 발생하였음이 검출된 경우, 현재 리트라이 카운트의 값이 미리 정해진 최대값으로 되어 있는지를 판정한다(단계 S208). 리트라이 카운트가 최대값인 경우, 부호화순 픽처군을 재부호화해도 CPB 언더플로우를 회피할 수 없으므로 부호화를 종료한다.
리트라이 카운트가 최대값에 도달하지 못한 경우, 현재 부호화순 픽처군의 재부호화를 위해 현재 부호화순 픽처군의 선두 픽처를 부호화 대상으로 설정한다(단계 S209). 그리고, 리트라이 카운트를 1만큼 늘린다(단계 S210). 그 후, 리트라이 카운트에 기초하여 2개의 부호화 파라미터(양자화 파라미터, 프리필터 강도) 중 하나 이상을 변경하고(양자화 파라미터는 단계 크기를 보다 크게, 필터 강도의 경우는 블러(blur) 정도를 보다 크게 변경)(단계 S211), 단계 S202로 되돌아가 부호화 중의 부호화순 픽처군을 재부호화한다.
본 발명은, 입력 영상의 모든 프레임을 2회 부호화하는 종래기술 b와 달리 기본적으로 1회의 부호화 처리로 하고, CPB 언더플로우가 발생한 경우에 한해 부호화순 픽처군(예를 들면, GOP)을 CPB 언더플로우가 발생하지 않게 될 때까지 발생 부호량을 단계적으로 억제하여 반복하여 부호화한다. 2회째 이후의 부호화시에는, 리트라이 카운트에 따라 정해진 CPB 언더플로우를 억제하는 부호화 파라미터에서 부호화를 행한다. 따라서, 입력 영상의 모든 픽처를 2번 부호화하는 종래기술 b와 비교하여 연산량을 삭감할 수 있음과 동시에 재부호화에 의한 화질의 열화도 적게 할 수 있다.
이상과 같이, 본 실시형태에서는 재부호화시에 부호화 파라미터를 리트라이 카운트에 따라 변경한다. 여기서는, 부호화시에 입력 영상에 대해 프리필터를 적용하는 것으로 하고, 변경하는 부호화 파라미터로서는 양자화 파라미터와 프리필터 강도로 한다. 이 2개의 부호화 파라미터의 쌍방을 변경해도 되고, 어느 한쪽만을 변경해도 된다.
양자화 파라미터에 대해서는, 통상의 부호화시에 정해지는 양자화 파라미터 값에 대해 리트라이 카운트에 따라 단계적으로 커지는 소정의 오프셋 값을 더하고 보다 큰 양자화 파라미터에서 재부호화한다.
프리필터에 대해서는, 제1 실시예와 같이 가우시안 필터를 이용하는 것으로 한다. 가우시안 필터는 전술한 식(1)에서 나타나는 가우스 분포를 x, y에 대해 샘플링함으로써 작성할 수 있다.
식(1)에서, σ=O인 경우에는 가우시안 필터를 작동시키지 않는 것으로 하고, 예를 들면 디폴트 부호화 파라미터는 σ0=0, 재부호화용 부호화 파라미터는 리트라이 카운트의 값을 c라고 하면 σc라고 한다. σc는 c의 값이 클수록 큰 값으로 한다. O<σ12<……이다. 또, 본 실시예에서는 로우 패스 필터의 종류는 묻지 않는다. 또한, 예를 들면 디폴트 부호화 파라미터의 σ0은 픽처마다의 복잡도에 따라 변경하고, σc는 σc-1에 소정의 오프셋을 더한 것인 구성이어도 된다.
이하에서 설명하는 실시예에서는 부호화 방식으로서 H.264의 규격에 따라 부호화를 행하는 것으로 한다. 또한, 부호화순 픽처군은 GOP라고 하고, 부호화할 때의 GOP의 개념도를 도 5에 나타낸다. 제1 실시예와 같이, 하나의 GOP는 10픽처로 구성되고, 표시순으로 I픽처를 선두로 B픽처와 P픽처가 교대로 나열되는 것으로 한다.
본 발명의 제2 실시예의 장치 구성예를 도 10에 나타낸다. 입력 버퍼(210)는 입력되는 영상 신호를 축적함과 동시에 부호화부(220)에 부호화 대상의 영상 신호를 출력한다. 또, 입력 버퍼(210)는 후술하는 CPB 관리부(240)로부터 CPB 언더플로우가 발생하고 재부호화를 행하는 것을 나타내는 정보(리트라이 정보)를 받은 경우, 부호화 중의 GOP의 선두 픽처부터 영상 신호를 다시 부호화부(220)에 출력한다. 또한, 리트라이 정보를 받지 않고 GOP의 부호화가 완료된 경우, 입력 버퍼(210)는 축적되어 있던 그 GOP의 영상 신호를 파기한다.
부호화부(220)는 입력 버퍼(210)로부터 입력된 영상 신호를 부호화하고, 부호화 스트림을 출력 버퍼(230)에 출력한다. 또한, 입력된 영상 신호를 부호화했을 때에 발생한 부호량(부호량 정보)을 CPB 관리부(240)에 출력한다. 또, 부호화부(220)는 CPB 관리부(240)로부터 리트라이 정보를 받은 경우, 부호화 중의 GOP의 선두 픽처로부터의 영상 신호가 입력 버퍼(210)로부터 다시 입력됨과 동시에 파라미터 조정부(260)로부터 재부호화용 부호화 파라미터가 입력되기 때문에, 입력된 재부호화용 부호화 파라미터를 이용하여 재부호화를 행한다.
출력 버퍼(230)는 GOP의 부호화 스트림이 전부 축적된 단계에서 그 GOP의 부호화 스트림을 출력하고, 한편으로 CPB 관리부(240)로부터 리트라이 정보를 받은 경우, 부호화 중의 GOP에 대해 축적한 부호화 스트림을 파기한다.
CPB 관리부(240)는, 부호화부(220)로부터 입력되는 부호량 정보를 이용하여 시각과 함께 변화하는 CPB의 잔부호량을 구한다. 즉, 도 1의 개념도에서 나타낸 CPB의 잔부호량을 구한다. 그리고, CPB 언더플로우가 발생한 경우, 리트라이 정보를 입력 버퍼(210), 부호화부(220), 리트라이 카운트 관리부(250), 출력 버퍼(230)에 출력하고, CPB 언더플로우가 발생하였음을 통지한다.
리트라이 카운트 관리부(250)는 CPB 관리부(240)로부터 리트라이 정보를 받은 경우, 현재 리트라이 카운트의 값에 1을 가산하고 갱신 후의 리트라이 카운트를 파라미터 조정부(260)에 통지한다. 또한, CPB 관리부(240)로부터 리트라이 정보를 받지 않고 현재 부호화 중의 GOP의 부호화가 완료된 경우, 리트라이 카운트의 값이 1이상이면, 리트라이 카운트의 값에서 1을 감산하고 그 리트라이 카운트를 파라미터 조정부(260)에 통지한다. GOP의 부호화가 완료되었을 때에 리트라이 카운트의 값이 O이면, 리트라이 카운트=0을 파라미터 조정부(260)에 통지한다.
파라미터 조정부(260)는, 리트라이 카운트 관리부(250)로부터 리트라이 카운트를 받으면, 리트라이 카운트에 따라 정해진 부호화 파라미터를 부호화부(220)에 입력한다. 이에 의해, 부호화부(220)는 같은 GOP에 대해 재부호화의 반복 횟수가 많아질수록 발생 부호량이 적어지는 부호화 파라미터를 이용하여 부호화를 하게 된다.
이상과 같이, 본 실시예에서는 재부호화가 발생하면 값이 증가하고, GOP의 부호화가 완료된 시점에서 값이 줄어드는 리트라이 카운트라는 개념을 도입하여 리트라이 카운트 관리부(250)에서 관리한다. 이 리트라이 카운트에는 예를 들면 상한값이 「3」이라고 하는 바와 같이 소정의 상한값이 있고, 상한값에 도달할 때까지 같은 GOP의 재부호화를 행해도 되는 것으로 한다. 부호화시에서의 양자화 파라미터의 오프셋 값, 프리필터의 필터 강도는 리트라이 카운트의 값에 따라 변화한다.
리트라이 카운트가 O일 때에는 디폴트 부호화 파라미터가 이용된다. 리트라이 카운트가 0 이외의 경우에는, 예를 들면 리트라이 카운트의 상한값이 3인 경우, 리트라이 카운트의 1, 2, 3 각각에 대응한 재부호화용 부호화 파라미터를 부호화 파라미터 테이블로서 미리 준비해 두고 그 부호화 파라미터 테이블로부터 얻은 부호화 파라미터를 재부호화에 이용해도 된다.
본 실시예에서의 부호화 처리의 흐름에 대해 도 9의 흐름도에 따라 설명한다. 이하의 설명에서는 S201, S202, … 등과 같이 문장 중에 도 9의 흐름도와의 대응을 기재한다.
어떤 GOP의 부호화를 행하는 처리에 대해 이하와 같이 3가지 케이스로 나누어 설명한다.
·[케이스 1]: GOP의 부호화에서 CPB 언더플로우가 발생하지 않았다.
·[케이스 2]: GOP의 부호화에서 복수회 CPB 언더플로우가 발생하고 재부호화에서 회피할 수 있었다.
·[케이스 3]: GOP의 부호화에서 복수회 CPB 언더플로우가 발생하고, 리트라이 카운트가 상한값에 도달하여 재부호화에서도 회피할 수 없었다.
[케이스 1의 처리예]
우선, GOP의 부호화에서 CPB 언더플로우가 발생하지 않은 경우의 케이스 1에 대해 설명한다. GOP의 픽처가 입력 버퍼(210)에 입력되면, 입력 버퍼(210)는 그 픽처를 축적함과 동시에 부호화부(220)에 그 픽처를 부호화 대상 픽처로서 입력한다(S201). 그리고, 부호화부(220)는 그 픽처를 부호화하고, 출력 버퍼(230)에 부호화 스트림을 출력함과 동시에(출력 버퍼(230)는 그 부호화 스트림은 출력하지 않고 축적함), 그 픽처에 관한 CPB 관리부(240)에 부호량 정보를 출력한다(S202).
여기서, 예를 들면 리트라이 카운트가 초기값 O이라고 하면, 부호화에서는 디폴트 부호화 파라미터가 이용되고, 디폴트 부호화 파라미터에 대응한 프리필터 강도로 부호화 대상 픽처에 프리필터부(221)에 의한 필터링 처리가 적용되며, 본 픽처에서 발생한 DCT 계수는 디폴트 부호화 파라미터에 따른 양자화 파라미터에서 양자화부(222)에 의해 양자화된다. 리트라이 카운트가 1이상인 경우에는, 각각 리트라이 카운트에 따라 정해진 필터 강도 및 양자화 파라미터에 의한 프리필터, 양자화 처리에서 부호화가 행해진다.
CPB 관리부(240)는 그 픽처에 대해 부호화부(220)로부터 입력된 부호량 정보를 기초로 CPB 잔부호량을 계산하고, 이 예에서는 CPB 언더플로우가 발생하지 않았기 때문에 리트라이 정보의 출력은 하지 않는다(S203). 부호화 대상 픽처가 입력 영상 신호 중의 최종 픽처이면, 출력 버퍼(230)는 축적되어 있는 부호화 스트림을 출력하고 부호화 처리가 완료된다(S204). 혹은 부호화 대상 픽처가 GOP의 최종 픽처이면, 출력 버퍼(230)는 축적되어 있던 부호화 스트림을 출력함과 동시에, 입력 버퍼(210)는 축적되어 있던 픽처를 파기하고 다음 GOP의 처음 픽처의 부호화 처리로 이동한다(S205~S207).
이 케이스 1과 같이, CPB 언더플로우를 발생시키지 않고 GOP의 부호화가 완료된 경우, 리트라이 카운트가 0일 때를 제외하고 리트라이 카운트 관리부(250)가 현재 리트라이 카운트에서 값을 1 줄인다(S206). 현재 부호화가 완료된 GOP보다 전의 GOP에서 재부호화가 발생하는 경우에 리트라이 카운트가 0이 아닐 수 있다. 리트라이 카운트 관리부(250)는 변경 후의 리트라이 카운트를 파라미터 조정부(260)에 통지하고, 파라미터 조정부(260)는 통지된 리트라이 카운트에 대응한 부호화 파라미터를 부호화부(220)에 설정하여 다음 GOP의 선두 픽처의 부호화가 개시된다.
[케이스 2의 처리예]
다음에, GOP의 부호화에서 복수회 CPB 언더플로우가 발생하고 재부호화에서 회피할 수 있었던 경우의 케이스 2에 대해 설명한다. 여기서는, GOP의 부호화를 개시하는 시점에서의 리트라이 카운트가 1이라고 하고, 같은 GOP에서 2회 재부호화가 행해진 경우를 설명한다.
GOP의 픽처가 입력 버퍼(210)에 입력되면, 입력 버퍼(210)는 그 픽처를 축적함과 동시에 부호화부(220)에 그 픽처를 부호화 대상 픽처로서 입력한다(S201). 그리고, 부호화부(220)는 그 픽처를 부호화하고, 출력 버퍼(230)에 부호화 스트림을 출력함과 동시에(출력 버퍼(230)는 그 부호화 스트림은 출력하지 않고 축적함), 그 픽처에 관한 CPB 관리부(240)에 부호량 정보를 출력한다(S202). 여기서, 부호화에서는 리트라이 카운트 1에 대응한 부호화 파라미터가 이용된다.
CPB 관리부(240)는, 그 픽처에 대해 부호화부(220)로부터 입력된 부호량 정보를 기초로 CPB 잔부호량을 계산한다. 이 결과, 그 픽처에 대해 CPB 관리부(240)가 CPB 언더플로우를 검지한 경우, CPB 관리부(240)는 부호화부(220), 리트라이 카운트 관리부(250), 입력 버퍼(210), 출력 버퍼(230)에 리트라이 정보를 출력한다(S203).
현재 리트라이 카운트는 1이고 상한값의 3에는 도달하지 못하였으므로(S208), 입력 버퍼(210)는 축적되어 있던 부호화 중의 GOP의 선두 픽처를 부호화부(220)에 출력한다(S209). 한편, 리트라이 카운트 관리부(250)에서 리트라이 카운트가 1 증가하여 값이 2가 된 리트라이 카운트가 파라미터 조정부(260)에 출력된다(S210).
파라미터 조정부(260)에서는, 리트라이 카운트가 2일 때의 부호화 파라미터를 부호화 파라미터 테이블로부터 독출하고, 그 부호화 파라미터를 부호화부(220)로 설정한다(S211). 출력 버퍼(230)는 부호화 중의 GOP의 부호화 스트림을 파기한다.
부호화부(220)에서는, CPB 언더플로우가 발생하지 않는 한 순차적으로 GOP의 픽처가 입력 버퍼(210)로부터 입력되어 부호화된다. 이 부호화시에 같은 GOP에서 다시 CPB 언더플로우가 발생한 경우, 전술한 처리와 같은 처리에 의해 리트라이 카운트가 1 증가하여 3이 된다. 이에 의해, 부호화 파라미터가 리트라이 카운트=3에 대응하는 것으로 변경된 후에, 같은 GOP에 대해 다시 선두 픽처부터 부호화가 순차적으로 행해진다. 이 GOP의 부호화에서 더 이상 CPB 언더플로우가 발생하지 않은 경우, 리트라이 카운트 관리부(250)에 의해 리트라이 카운트가 1 줄어들어 리트라이 카운트가 2가 되고 다음 GOP의 부호화가 진행된다. 이때의 입력 버퍼(210) 및 출력 버퍼(230)의 동작은 전술한 예와 같다.
이 케이스 2의 예에서의 리트라이 카운트, 부호화 파라미터의 추이의 개념도를 도 11에 나타낸다. 도 11의 예에서는, 리트라이 카운트가 1인 상태에서 2번째의 GOP2를 부호화하고 있을 때에 6번째 픽처의 부호화에서 CPB 언더플로우가 발생하였으므로, 리트라이 카운트를 2로 하고 다시 리트라이 카운트=2에 대응하는 부호화 파라미터에서 GOP2의 선두 I픽처부터 재부호화하고 있다. 이 재부호화에서도 7번째 픽처에서 CPB 언더플로우가 발생하고, 또 리트라이 카운트=3에 대응하는 발생 부호량이 적은 부호화 파라미터에서 재부호화하여 재차의 재부호화에서는 CPB 언더플로우가 발생하지 않았으므로, GOP2의 부호화 완료시에 리트라이 카운트에서 1을 줄여 리트라이 카운트가 2인 부호화 파라미터를 이용하여 다음 GOP의 부호화로 이행한다.
재부호화가 행해졌을 때의 CPB 잔부호량의 천이의 개념도를 도 8에 나타낸다. 제1 실시예와 같이, 굵은 선으로 나타낸 선이 다시 재부호화한 후의 CPB 잔부호량이다. 재부호화에서는 프리필터에서 블러(blur) 정도를 강하게 하고, 양자화 파라미터도 디폴트 부호화 파라미터보다도 크게 하기 때문에 발생 부호량이 억제되고, 예를 들면 도 8과 같은 천이가 행해지며 CPB 언더플로우가 억제된다.
[케이스 3의 처리예]
마지막으로, 같은 GOP의 부호화에서 복수회 CPB 언더플로우가 발생하고, 리트라이 카운트가 상한값에 도달하여 재부호화에서도 회피할 수 없었던 경우의 케이스 3에 대해 설명한다. 어떤 GOP를 부호화 중에 케이스 2의 경우와 같이 리트라이 카운트가 3에 도달하였다고 하자. 또, 같은 GOP의 부호화에서 CPB 관리부(240)에 의해 CPB 언더플로우가 검지된 경우(S203), 리트라이 카운트 관리부(250)에서 리트라이 카운트가 상한값에 도달하였음이 검지되고(S208) 부호화가 완료된다. 또, 이러한 경우에 부호화를 완료하는 것이 아니라, 저속도촬영을 허용하고 부호화를 완료하지 않으며 CPB 언더플로우가 발생한 픽처의 부호화 데이터를 파기하고 다음 픽처를 부호화하도록 처리해도 된다.
<제3 실시예>
이하, 본 발명의 제3 실시예에 대해 설명한다. 도 12는 본 발명의 제3 실시예에 관한 동화상 부호화 제어 방법을 나타내는 처리 흐름도이다.
우선, 입력 영상 신호에서의 부호화가 종료된 픽처의 다음 픽처를 부호화 대상으로 설정한다(단계 S301). 부호화 대상으로 설정한 입력 픽처를 H.264 그 밖의 소정의 부호화 방식에 의해 부호화한다(단계 S302). 입력 픽처의 부호화에 의해 CPB 언더플로우가 발생하였는지를 판정하여(단계 S303), CPB 언더플로우가 발생한 경우에는 단계 S308로 진행한다. 또, CPB 언더플로우가 발생하였는지는 예를 들면 H.264의 표준 규격 등에서 이용되고 있는 방법으로 판정할 수 있다.
CPB 언더플로우가 발생하지 않았으면, 최종 픽처의 부호화가 완료되었는지를 판정하고(단계 S304), 최종 픽처까지 부호화가 완료되었다면 부호화 처리를 종료한다.
그렇지 않으면, 부호화순 픽처군의 부호화가 완료되었는지를 판정한다(단계 S305). 완료되지 않았으면, 단계 S301로 되돌아가 다음 픽처에 대해 마찬가지로 부호화 처리를 계속한다.
부호화순 픽처군의 부호화가 완료된 경우, 이하의 조건이 만족되는지를 판정하여 조건이 만족되는 경우에만 리트라이 카운트를 1 줄인다(단계 S306).
·조건 1: 리트라이 카운트가 1 이상일 것.
·조건 2: CPB 잔부호량이 소정의 문턱값 이상일 것.
리트라이 카운트가 0인 경우 또는 CPB 잔부호량이 소정의 문턱값보다 적은 경우에는 리트라이 카운트는 줄이지 않고 원래 그대로 한다.
그 후, 리트라이 카운트에 기초하여 미리 리트라이 카운트에 따라 정해진 부호화 파라미터를 설정하고(단계 S307), 단계 S301로 되돌아가 다음 부호화순 픽처군의 선두 픽처부터 부호화 처리를 한다.
단계 S303에서 CPB 언더플로우가 발생하였음이 검출된 경우, 현재 리트라이 카운트의 값이 미리 정해진 최대값이 되어 있는지를 판정한다(단계 S308). 리트라이 카운트가 최대값인 경우, 부호화순 픽처군을 재부호화해도 CPB 언더플로우를 회피할 수 없으므로 부호화를 종료한다.
리트라이 카운트가 최대값에 도달하지 못한 경우, 현재 부호화순 픽처군의 재부호화를 위해 현재 부호화순 픽처군의 선두 픽처를 부호화 대상으로 설정한다(단계 S309). 그리고, 리트라이 카운트를 1만큼 늘린다(단계 S310). 그 후, 리트라이 카운트에 기초하여 2개의 부호화 파라미터(양자화 파라미터, 프리필터 강도) 중 하나 이상을 변경하고(양자화 파라미터는 단계 크기를 보다 크게, 필터 강도의 경우는 블러(blur) 정도를 보다 크게 변경)(단계 S311), 단계 S302로 되돌아가 부호화 중의 부호화순 픽처군을 재부호화한다.
본 발명은, 입력 영상의 모든 프레임을 2회 부호화하는 종래기술 b와 달리 기본적으로 1회의 부호화 처리로 하고, CPB 언더플로우가 발생한 경우에 한해 부호화순 픽처군(예를 들면, GOP)을 CPB 언더플로우가 발생하지 않게 될 때까지 발생 부호량을 단계적으로 억제하여 반복하여 부호화한다. 2번째 이후의 부호화시에는, 리트라이 카운트에 따라 정해진 CPB 언더플로우를 억제하는 부호화 파라미터에서 부호화를 행한다. 따라서, 입력 영상의 모든 픽처를 2번 부호화하는 종래기술 b와 비교하여 연산량을 삭감할 수 있음과 동시에 재부호화에 의한 화질의 열화도 적게 할 수 있다.
이상과 같이, 본 실시형태에서는 재부호화시에 부호화 파라미터를 리트라이 카운트에 따라 변경한다. 여기서는, 부호화시에 입력 영상에 대해 프리필터를 적용하는 것으로 하고, 변경하는 부호화 파라미터로서는 양자화 파라미터와 프리필터 강도로 한다. 이 2개의 부호화 파라미터의 쌍방을 변경해도 되고, 어느 한쪽만을 변경해도 된다.
양자화 파라미터에 대해서는, 통상의 부호화시에 정해지는 양자화 파라미터 값에 대해 리트라이 카운트에 따라 단계적으로 커지는 소정의 오프셋 값을 더하고 보다 큰 양자화 파라미터에서 재부호화한다.
프리필터에 대해서는, 제1 실시예와 같이 가우시안 필터를 이용하는 것으로 한다. 가우시안 필터는 전술한 식(1)에서 나타나는 가우스 분포를 x, y에 대해 샘플링함으로써 작성할 수 있다.
식(1)에서, σ=O인 경우에는 가우시안 필터를 작동시키지 않는 것으로 하고, 예를 들면 디폴트 부호화 파라미터는 σ0=0, 재부호화용 부호화 파라미터는 리트라이 카운트의 값을 c라고 하면 σc라고 한다. σc는 c의 값이 클수록 큰 값으로 한다. O<σ12<……이다. 또, 본 실시예에서는 로우 패스 필터의 종류는 묻지 않는다. 또한, 예를 들면 디폴트 부호화 파라미터의 σ0은 픽처마다의 복잡도에 따라 변경하고, σc는 σc-1에 소정의 오프셋을 더한 것인 구성이어도 된다.
이하에서 설명하는 실시예에서는 부호화 방식으로서 H.264의 규격에 따라 부호화를 행하는 것으로 한다. 또한, 부호화순 픽처군은 GOP라고 하고, 부호화할 때의 GOP의 개념도를 도 5에 나타낸다. 제1 실시예와 같이, 하나의 GOP는 10픽처로 구성되고, 표시순으로 I픽처를 선두로 B픽처와 P픽처가 교대로 나열되는 것으로 한다.
본 발명의 제3 실시예에 관한 장치 구성예를 도 13에 나타낸다. 입력 버퍼(310)는 입력되는 영상 신호를 축적함과 동시에 부호화부(320)에 부호화 대상의 영상 신호를 출력한다. 또, 입력 버퍼(310)는 후술하는 CPB 관리부(340)로부터 CPB 언더플로우가 발생하고 재부호화를 행하는 것을 나타내는 정보(리트라이 정보)를 받은 경우, 부호화 중의 GOP의 선두 픽처부터 영상 신호를 다시 부호화부(320)에 출력한다. 또한, 리트라이 정보를 받지 않고 GOP의 부호화가 완료된 경우, 입력 버퍼(310)는 축적되어 있던 그 GOP의 영상 신호를 파기한다.
부호화부(320)는 입력 버퍼(310)로부터 입력된 영상 신호를 부호화하고, 부호화 스트림을 출력 버퍼(330)에 출력한다. 또한, 입력된 영상 신호를 부호화했을 때에 발생한 부호량(부호량 정보)을 CPB 관리부(340)에 출력한다. 또, 부호화부(320)는 CPB 관리부(340)로부터 리트라이 정보를 받은 경우, 부호화 중의 GOP의 선두 픽처로부터의 영상 신호가 입력 버퍼(310)로부터 다시 입력됨과 동시에 파라미터 조정부(370)로부터 재부호화용 부호화 파라미터가 입력되기 때문에, 입력된 재부호화용 부호화 파라미터를 이용하여 재부호화를 행한다.
출력 버퍼(330)는 GOP의 부호화 스트림이 전부 축적된 단계에서 그 GOP의 부호화 스트림을 출력하고, 한편으로 CPB 관리부(340)로부터 리트라이 정보를 받은 경우, 부호화 중의 GOP에 대해 축적한 부호화 스트림을 파기한다.
CPB 관리부(340)는, 부호화부(320)로부터 입력되는 부호량 정보를 이용하여 시각과 함께 변화하는 CPB의 잔부호량을 구한다. 즉, 도 1의 개념도에서 나타낸 CPB의 잔부호량을 구한다. 그리고, CPB 언더플로우가 발생한 경우, 리트라이 정보를 입력 버퍼(310), 부호화부(320), 리트라이 카운트 관리부(350), 출력 버퍼(330)에 출력하고, CPB 언더플로우가 발생하였음을 통지한다. 또한, CPB 상태 예측부(360)에 CPB 잔부호량 정보를 통지한다.
리트라이 카운트 관리부(350)는 CPB 관리부(340)로부터 리트라이 정보를 받은 경우, 현재 리트라이 카운트의 값에 1을 가산하고, 갱신 후의 리트라이 카운트를 파라미터 조정부(370)에 통지한다.
또한, CPB 관리부(340)로부터 리트라이 정보를 받지 않고 현재 부호화 중의 GOP의 부호화가 완료된 경우, 리트라이 카운트의 값이 1이상이면, 리트라이 카운트의 값에서 1을 감산하고 그 리트라이 카운트를 파라미터 조정부(370)에 통지한다. 단, CPB 상태 예측부(360)로부터 통지된 파라미터 변경 유무 정보가 「파라미터 변경 없음」을 나타내면, 리트라이 카운트가 1이상이어도 리트라이 카운트에서 1을 감산하지 않는다. 또한, 리트라이 카운트가 0인 경우에도 1을 감산하지 않고 현재 리트라이 카운트의 값을 파라미터 조정부(370)에 통지한다.
파라미터 조정부(370)는, 리트라이 카운트 관리부(350)로부터 리트라이 카운트를 받으면, 리트라이 카운트에 따라 정해진 부호화 파라미터를 부호화부(320)에 입력한다. 이에 의해, 부호화부(320)는 같은 GOP에 대해 재부호화의 반복 횟수가 많아질수록 발생 부호량이 적어지는 부호화 파라미터를 이용하여 부호화를 하게 된다.
이상과 같이, 본 실시예에서는 재부호화가 발생하면 값이 증가하고, GOP의 부호화가 완료된 시점에서 값이 줄어드는 리트라이 카운트라는 개념을 도입하여 리트라이 카운트 관리부(350)에서 관리한다. 이 리트라이 카운트에는 예를 들면 상한값이 「3」이라고 하는 바와 같이 소정의 상한값이 있고, 상한값에 도달할 때까지 같은 GOP의 재부호화를 행해도 되는 것으로 한다. 부호화시에서의 양자화 파라미터의 오프셋 값, 프리필터의 필터 강도는 리트라이 카운트의 값에 따라 변화한다.
리트라이 카운트가 O일 때에는 디폴트 부호화 파라미터가 이용된다. 리트라이 카운트가 0 이외의 경우에는, 예를 들면 리트라이 카운트의 상한값이 3인 경우, 리트라이 카운트의 1, 2, 3 각각에 대응한 재부호화용 부호화 파라미터를 부호화 파라미터 테이블로서 미리 준비해 두고, 그 부호화 파라미터 테이블로부터 얻은 부호화 파라미터를 재부호화에 이용해도 된다.
본 실시예에서의 부호화 처리의 흐름에 대해 도 12의 흐름도에 따라 설명한다. 이하의 설명에서는 S301, S302, …등과 같이 문장 중에 도 12의 흐름도와의 대응을 기재한다.
어떤 GOP의 부호화를 행하는 처리에 대해 이하와 같이 3가지 케이스로 나누어 설명한다.
·[케이스 1]: GOP의 부호화에서 CPB 언더플로우가 발생하지 않았다.
·[케이스 2]: GOP의 부호화에서 복수회 CPB 언더플로우가 발생하고 재부호화에서 회피할 수 있었다.
·[케이스 3]: GOP의 부호화에서 복수회 CPB 언더플로우가 발생하고, 리트라이 카운트가 상한값에 도달하여 재부호화에서도 회피할 수 없었다.
[케이스 1의 처리예]
우선, GOP의 부호화에서 CPB 언더플로우가 발생하지 않은 경우의 케이스 1에 대해 설명한다. GOP의 픽처가 입력 버퍼(310)에 입력되면, 입력 버퍼(310)는 그 픽처를 축적함과 동시에 부호화부(320)에 그 픽처를 부호화 대상 픽처로서 입력한다(S301). 그리고, 부호화부(320)는 그 픽처를 부호화하고, 출력 버퍼(330)에 부호화 스트림을 출력함과 동시에(출력 버퍼(330)는 그 부호화 스트림은 출력하지 않고 축적함), 그 픽처에 관한 CPB 관리부(340)에 부호량 정보를 출력한다(S302).
여기서, 예를 들면 리트라이 카운트가 초기값의 O이라고 하면, 부호화에서는 디폴트 부호화 파라미터가 이용되고, 디폴트 부호화 파라미터에 대응한 프리필터 강도로 부호화 대상 픽처에 프리필터부(321)에 의한 필터링 처리가 적용되며, 본 픽처에서 발생한 DCT 계수는 디폴트 부호화 파라미터에 따른 양자화 파라미터에서 양자화부(322)에 의해 양자화된다. 리트라이 카운트가 1 이상인 경우에는, 각각 리트라이 카운트에 따라 정해진 필터 강도 및 양자화 파라미터에 의한 프리필터, 양자화 처리에서 부호화가 행해진다.
CPB 관리부(340)는, 그 픽처에 대해 부호화부(320)로부터 입력된 부호량 정보를 기초로 CPB 잔부호량을 계산하고, 이 예에서는 CPB 언더플로우가 발생하지 않았기 때문에 리트라이 정보의 출력은 하지 않는다(S303). 부호화 대상 픽처가 입력 영상 신호 중의 최종 픽처이면, 출력 버퍼(330)는 축적되어 있는 부호화 스트림을 출력하고 부호화 처리가 완료된다(S304). 혹은 부호화 대상 픽처가 GOP의 최종 픽처이면, 출력 버퍼(330)는 축적되어 있던 부호화 스트림을 출력함과 동시에, 입력 버퍼(310)는 축적되어 있던 픽처를 파기하고 다음 GOP의 처음 픽처의 부호화 처리로 이동한다(S305~S307).
이 케이스 1과 같이 CPB 언더플로우를 발생시키지 않고 GOP의 부호화가 완료된 경우, CPB 관리부(340)는 GOP의 부호화가 완료된 시점에서 CPB 잔부호량 정보를 CPB 상태 예측부(360)에 통지한다. CPB 상태 예측부(360)는 CPB 잔부호량이 소정의 문턱값보다 큰지를 판정하여 큰 경우, 파라미터 변경 유무 정보로서 부호화 파라미터를 변경함을 리트라이 카운트 관리부(350)에 통지한다. 한편, CPB 잔부호량이 문턱값 이하인 경우, 파라미터 변경 유무 정보로서 부호화 파라미터를 변경하지 않음을 리트라이 카운트 관리부(350)에 통지한다. 리트라이 카운트 관리부(350)는, 파라미터 변경 유무 정보가 부호화 파라미터를 변경함을 나타내는 경우에 한해 현재 리트라이 카운트에서 값을 1 줄인다(S306).
즉, 현재 부호화가 완료된 GOP보다 전의 GOP에서 재부호화가 발생하는 경우에 리트라이 카운트가 0이 아닐 수 있다. 그 때, 리트라이 카운트 관리부(350)는 CPB 상태 예측부(360)로부터의 파라미터 변경 유무 정보의 통지에 따라 리트라이 카운트를 변경하고, 변경 후의 리트라이 카운트를 파라미터 조정부(370)에 통지한다. 파라미터 조정부(370)는, 통지된 리트라이 카운트에 대응한 부호화 파라미터를 부호화부(320)로 설정하고 다음 GOP의 선두 픽처의 부호화가 개시된다.
[케이스 2의 처리예]
다음에, GOP의 부호화에서 복수회 CPB 언더플로우가 발생하고 재부호화에서 회피할 수 있었던 경우의 케이스 2에 대해 설명한다. 여기서는, GOP의 부호화를 개시하는 시점에서의 리트라이 카운트가 1이라고 하고, 같은 GOP에서 2회 재부호화가 행해진 경우를 설명한다.
GOP의 픽처가 입력 버퍼(310)에 입력되면, 입력 버퍼(310)는 그 픽처를 축적함과 동시에 부호화부(320)에 그 픽처를 부호화 대상 픽처로서 입력한다(S301). 그리고, 부호화부(320)는 그 픽처를 부호화하고, 출력 버퍼(330)에 부호화 스트림을 출력함과 동시에(출력 버퍼(330)는 그 부호화 스트림은 출력하지 않고 축적함), 그 픽처에 관한 CPB 관리부(340)에 부호량 정보를 출력한다(S302). 여기서, 부호화에서는 리트라이 카운트 1에 대응한 부호화 파라미터가 이용된다.
CPB 관리부(340)는, 그 픽처에 대해 부호화부(320)로부터 입력된 부호량 정보를 기초로 CPB 잔부호량을 계산한다. 이 결과, 그 픽처에 대해 CPB 관리부(340)가 CPB 언더플로우를 검지한 경우, CPB 관리부(340)는 부호화부(320), 리트라이 카운트 관리부(350), 입력 버퍼(310), 출력 버퍼(330)에 리트라이 정보를 출력한다(S303).
현재 리트라이 카운트는 1이고 상한값의 3에는 도달하지 못하였으므로(S308), 입력 버퍼(310)는 축적되어 있던 부호화 중의 GOP의 선두 픽처를 부호화부(320)에 출력한다(S309). 한편, 리트라이 카운트 관리부(350)에서 리트라이 카운트가 1 증가하여 값이 2가 된 리트라이 카운트가 파라미터 조정부(370)에 출력된다(S310).
파라미터 조정부(370)에서는, 리트라이 카운트가 2일 때의 부호화 파라미터를 부호화 파라미터 테이블로부터 독출하고, 그 부호화 파라미터를 부호화부(320)로 설정한다(S311). 출력 버퍼(330)는 부호화 중의 GOP의 부호화 스트림을 파기한다.
부호화부(320)에서는, CPB 언더플로우가 발생하지 않는 한 순차적으로 GOP의 픽처가 입력 버퍼(310)로부터 입력되어 부호화된다. 이 부호화시에 같은 GOP에서 다시 CPB 언더플로우가 발생한 경우, 전술한 처리와 같은 처리에 의해 리트라이 카운트가 1 증가하여 3이 된다. 이에 의해, 부호화 파라미터가 리트라이 카운트=3에 대응하는 것으로 변경된 후에 같은 GOP에 대해 다시 선두 픽처부터 부호화가 순차적으로 행해진다.
이 GOP의 부호화에서 더 이상 CPB 언더플로우가 발생하지 않은 경우, CPB 관리부(340)는 CPB 잔부호량의 정보를 CPB 상태 예측부(360)에 통지한다. CPB 상태 예측부(360)는, CPB 상태 잔부호량이 소정의 문턱값 이상인 경우 파라미터 변경 유무 정보를 「변경 있음」으로 하고, 그 이외의 경우에는 「변경 없음」으로 하여 리트라이 카운트 관리부(350)에 통지한다.
통지된 파라미터 변경 유무 정보가 「변경 있음」의 경우, 리트라이 카운트 관리부(350)에 의해 리트라이 카운트가 1 줄어들어 리트라이 카운트가 2가 되어 다음 GOP의 부호화가 진행된다. 이때의 입력 버퍼(310) 및 출력 버퍼(330)의 동작은 전술한 예와 같다. 파라미터 변경 유무 정보가 「변경 없음」의 경우에는, 리트라이 카운트가 3 그대로이고 다음 GOP의 부호화가 진행된다.
이 케이스 2의 예에서의 리트라이 카운트, 부호화 파라미터의 추이의 개념도를 도 11에 나타낸다. 도 11의 예에서는, 제2 실시예와 같이 리트라이 카운트가 1인 상태에서 2번째의 GOP2를 부호화하고 있을 때에 6번째 픽처의 부호화에서 CPB 언더플로우가 발생하였으므로, 리트라이 카운트를 2로 하고 다시 리트라이 카운트=2에 대응하는 부호화 파라미터에서 GOP2의 선두 I픽처부터 재부호화하고 있다. 이 재부호화에서도 7번째 픽처에서 CPB 언더플로우가 발생하고, 또 리트라이 카운트=3에 대응하는 발생 부호량이 적은 부호화 파라미터에서 재부호화가 행해지고 있다.
재차의 재부호화에서는 CPB 언더플로우가 발생하지 않았으므로, CPB 잔부호량이 소정의 문턱값 이상인지를 판정하고, 여기서 CPB 잔부호량이 소정의 문턱값 이상이었으므로, GOP2의 부호화 완료시에 리트라이 카운트에서 1을 줄이고 리트라이 카운트가 2인 부호화 파라미터를 이용하여 다음 GOP3의 부호화로 이행한다.
재부호화가 행해졌을 때의 CPB 잔부호량의 천이의 개념도를 도 8에 나타낸다. 제1, 제2 실시예와 같이, 굵은 선으로 나타낸 선이 다시 재부호화한 후의 CPB 잔부호량이다. 재부호화에서는 프리필터에서 블러(blur) 정도를 강하게 하고, 양자화 파라미터도 디폴트 부호화 파라미터보다도 크게 하기 때문에 발생 부호량이 억제되고, 예를 들면 도 8과 같은 천이가 행해지며 CPB 언더플로우가 억제된다.
[케이스 3의 처리예]
마지막으로, 같은 GOP의 부호화에서 복수회 CPB 언더플로우가 발생하고, 리트라이 카운트가 상한값에 도달하여 재부호화에서도 회피할 수 없는 경우의 케이스 3에 대해 설명한다. 어떤 GOP를 부호화 중에 케이스 2의 경우와 같이 리트라이 카운트가 3에 도달하였다고 하자. 또, 같은 GOP의 부호화에서 CPB 관리부(340)에 의해 CPB 언더플로우가 검지된 경우(S303), 리트라이 카운트 관리부(350)에서 리트라이 카운트가 상한값에 도달하였음이 검지되고(S308) 부호화가 완료된다. 또, 이러한 경우에 부호화를 완료하는 것이 아니라, 저속도촬영을 허용하고 부호화를 완료하지 않으며 CPB 언더플로우가 발생한 픽처의 부호화 데이터를 파기하고 다음 픽처를 부호화하도록 처리해도 된다.
<제4 실시예>
다음에, 본 발명의 제4 실시형태에 대해 설명한다. 도 14는 본 발명의 제4 실시예에 관한 동화상 부호화 제어 방법을 나타내는 처리 흐름도이다.
우선, 입력 영상 신호에서의 부호화가 종료된 픽처의 다음 픽처를 부호화 대상으로 설정한다(단계 S401). 부호화 대상으로 설정한 입력 픽처를 H.264 그 밖의 소정의 부호화 방식에 의해 부호화한다(단계 S402). 입력 픽처의 부호화에 의해 CPB 언더플로우가 발생하였는지를 판정하여(단계 S403), CPB 언더플로우가 발생한 경우에는 단계 S411로 진행한다. 또, CPB 언더플로우가 발생하였는지는 예를 들면 H.264의 표준 규격 등에서 이용되고 있는 방법으로 판정할 수 있다.
CPB 언더플로우가 발생하지 않았으면, 최종 픽처의 부호화가 완료되었는지를 판정하고(단계 S404), 최종 픽처까지 부호화가 완료되었다면 부호화 처리를 종료한다.
그렇지 않으면, 부호화한 픽처는 부호화순 픽처군의 선두 I픽처인지를 판정한다(단계 S405). 현재 부호화한 픽처가 부호화순 픽처군의 선두 I픽처인 경우, 그 I픽처를 리트라이 포인트로 설정한다(단계 S406). 이는 후술하는 단계 S409에서 CPB 잔부호량이 소정의 문턱값 미만인 경우에 리트라이 포인트가 하나 전의 부호화순 픽처군의 선두로 설정된 채이기 때문에, 다음 I픽처에서 CPB 언더플로우가 발생하지 않음을 확인하고 나서 리트라이 포인트를 갱신하기 위한 처리이다. 또, 단계 S410에서 리트라이 포인트가 설정되어 있는 경우에는 같은 위치에 리트라이 포인트를 재설정하게 되는데, 처리상 결함은 생기지 않는다. 그 후, 단계 S401로 되돌아가 다음 픽처의 부호화를 진행한다.
부호화한 픽처가 부호화순 픽처군의 선두가 아닌 경우, 다음에 부호화순 픽처군의 부호화가 완료되었는지를 판정한다(단계 S407). 완료되지 않았으면, 단계 S401로 되돌아가 다음 픽처에 대해 마찬가지로 부호화 처리를 계속한다. 부호화순 픽처군의 부호화가 완료된 경우, 부호화 파라미터가 부호화순 픽처군의 재부호화(리트라이)에서 변경되어 있으면, 부호화 파라미터를 통상의 부호화시의 값으로 되돌린다(단계 S408).
또한, 부호화순 픽처군의 부호화가 완료된 시점에서 CPB 잔부호량이 소정의 문턱값 이상인지를 판정한다(단계 S409). CPB 잔부호량이 소정의 문턱값 이상이면, 리트라이 포인트를 다음 부호화순 픽처군의 선두 I픽처로 설정한다(단계 S410). 그 후, 단계 S401로 되돌아가 다음 부호화순 픽처군의 선두부터 순번으로 부호화를 행한다.
CPB 잔부호량이 소정의 문턱값 미만인 경우에는, 리트라이 포인트를 갱신하지 않고 단계 S401로 되돌아가 다음 부호화순 픽처군의 부호화로 진행한다.
단계 S403에서 CPB 언더플로우가 발생하였음이 검출된 경우, 현재 부호화순 픽처군은 재부호화가 행해졌는지(리트라이 완료인지)를 판정한다(단계 S411). 리트라이 완료인 경우, 부호화순 픽처군을 재부호화해도 CPB 언더플로우를 회피할 수 없으므로 부호화를 종료한다. 리트라이 완료가 아닌 경우, 현재 부호화순 픽처군의 재부호화를 위해 리트라이 포인트의 픽처를 부호화 대상으로 설정한다(단계 S412). 그리고, 2개의 부호화 파라미터(양자화 파라미터, 프리필터 강도) 중 하나 이상을 변경하고(양자화 파라미터는 단계 크기를 보다 크게, 필터 강도의 경우는 블러(blur) 정도를 보다 크게 변경)(단계 S413), 단계 S402로 되돌아가 부호화 중의 부호화순 픽처군을 재부호화한다.
즉, 입력 영상의 모든 프레임을 2회 부호화하는 종래기술 b와 달리, CPB 언더플로우가 발생한 경우에 한해 부호화순 픽처군(예를 들면, GOP)을 2회 부호화한다. 2회째의 부호화시에는 CPB 언더플로우를 억제하는 부호화 파라미터에서 부호화를 행한다. CPB 언더플로우가 발생한 경우에 한해 그것이 생긴 부호화순 픽처군만을 재부호화함으로써(또, 예외적으로 하나 전의 부호화순 픽처군부터 재부호화하는 경우도 있음), CPB 언더플로우를 억제한다. 따라서, 입력 영상의 모든 픽처를 2번 부호화하는 종래기술 b와 비교하여 연산량을 삭감할 수 있다.
도 15는 본 발명의 제4 실시예에 관한 동화상 부호화 제어 방법의 변형예를 나타내는 처리 흐름도이다. 본 발명은 도 14에 도시된 단계 S408의 처리를 도 15에 도시된 단계 S481~S483의 처리로 치환하여 실시할 수도 있다. 단계 S408 이외의 처리는 도 14와 거의 같다.
도 14의 단계 S407의 처리 후, 부호화 파라미터가 리트라이에서 변경되어 있는지를 판정한다(단계 S481). 리트라이에서 변경되지 않으면, 단계 S409로 진행한다. 리트라이에서 변경되어 있으면, 다음에 CPB 잔부호량이 소정의 제1 문턱값 이상인지를 판정한다(단계 S482). 소정의 문턱값 미만이면, 부호화 파라미터를 재부호화에서 이용한 상태 그대로 하고, 소정의 문턱값 이상인 경우에만 부호화 파라미터를 원래의 디폴트 부호화 파라미터로 되돌린다(단계 S483). 그 후, 단계 S409로 진행하여 CPB 잔부호량이 소정의 제2 문턱값 이상인지를 판정하는데, 이 처리 및 단계 S410의 처리는 도 14에 도시된 단계 S409, S410의 처리와 같다. 또, 제1 문턱값과 제2 문턱값은 같은 값이어도 다른 값이어도 모두 된다.
도 15에 도시된 변형예에서는, 이상과 같이 부호화순 픽처군의 부호화가 완료된 시점에서 CPB 잔부호량이 소정량을 넘는 경우에만 부호화 파라미터를 통상의 부호화시의 값으로 되돌린다. 이는 다음 이유에 의한다. 부호화순 픽처군의 부호화가 완료되었다고 해도, CPB 잔부호량이 적은 경우 부호화 파라미터를 통상의 부호화시의 값으로 되돌리면 발생 부호량이 보다 많아지기 때문에, 다음 부호화순 픽처군의 부호화에서 CPB 언더플로우가 발생할 가능성이 높아진다. 도 15의 처리에서는 CPB 잔부호량이 적은 경우에는 부호화 파라미터를 변경하지 않기 때문에, 도 14의 처리에 비해 다음 부호화순 픽처군의 부호화에서의 재부호화의 발생이 억제되고 연산량이 더욱 삭감된다.
이상과 같이, 본 실시형태에서는 재부호화시에 부호화 파라미터를 변경한다. 여기서는, 부호화시에 입력 영상에 대해 프리필터를 적용하는 것으로 하고, 변경하는 부호화 파라미터로서는 양자화 파라미터와 프리필터 강도로 한다. 이 2개의 부호화 파라미터의 쌍방을 변경해도 되고, 어느 한쪽만을 변경해도 된다.
양자화 파라미터에 대해서는, 통상의 부호화시의 양자화 파라미터 값에 대해 소정의 오프셋 값을 더하고, 보다 큰 양자화 파라미터에서 재부호화한다.
프리필터에 대해서는, 제1 실시예와 같이 가우시안 필터를 이용하는 것으로 한다. 가우시안 필터는 전술한 식(1)에서 나타나는 가우스 분포를 x, y에 대해 샘플링함으로써 작성할 수 있다.
식(1)에서, σ=O의 경우에는 가우시안 필터를 작동시키지 않는 것으로 하고, 예를 들면 디폴트 부호화 파라미터는 σ0=0, 재부호화용 부호화 파라미터는 σ1>0으로 한다. 또, 본 발명에서는 로우 패스 필터의 종류는 묻지 않는다. 또한, 재부호화시의 블러(blur) 정도가 강한 쪽도 미리 임의로 정해도 된다. 예를 들면, 디폴트 부호화 파라미터의 σ0은 픽처마다의 복잡도에 따라 변경하고, σ1은 σ0에 소정의 오프셋을 더한 것인 구성이어도 된다.
부호화는 H.264의 규격에 따른 부호화를 행하는 것으로 한다. 또한, 본 실시예에서는 부호화순 픽처군은 GOP라고 하고, 부호화할 때의 GOP의 개념도를 도 5에 나타낸다. 제1 실시예와 같이, 하나의 GOP는 10픽처로 구성되고, 표시순으로 I픽처를 선두로 B픽처와 P픽처가 교대로 나열되는 것으로 한다.
본 발명의 제4 실시예의 장치 구성예를 도 16에 나타낸다. 입력 버퍼(410)는 입력되는 영상 신호를 축적함과 동시에 부호화부(420)에 부호화 대상의 영상 신호를 출력한다. 또, 입력 버퍼(410)는 후술하는 CPB 관리부(440)로부터 CPB 언더플로우가 발생하고 재부호화를 행하는 것을 나타내는 정보(리트라이 정보)를 받은 경우, 리트라이 포인트로 설정된 GOP의 선두 픽처부터 영상 신호를 다시 부호화부(420)에 출력한다. 또한, 리트라이 포인트 관리부(460)로부터 리트라이 포인트 정보를 입력한 경우에, 입력 버퍼(410)는 리트라이 포인트보다 전의 축적되어 있던 GOP의 영상 신호를 파기한다.
부호화부(420)는 입력 버퍼(410)로부터 입력된 영상 신호를 부호화하고, 부호화 스트림을 출력 버퍼(430)에 출력한다. 또한, 입력된 영상 신호를 부호화했을 때에 발생한 부호량(부호량 정보)을 CPB 관리부(440)에 출력한다. 또, 부호화부(420)는 CPB 관리부(440)로부터 리트라이 정보를 받은 경우, 리트라이 포인트가 나타내는 GOP의 선두 픽처로부터의 영상 신호가 입력 버퍼(410)로부터 다시 입력됨과 동시에, 파라미터 조정부(470)로부터 재부호화용 부호화 파라미터가 입력되기 때문에, 입력된 재부호화용 부호화 파라미터를 이용하여 재부호화를 행한다.
출력 버퍼(430)는, 리트라이 포인트 관리부(460)로부터의 리트라이 포인트 정보에 기초하여 출력하는 것이 확정된 부호화 스트림, 즉 재부호화의 필요가 없는 것이 확정된 부호화 결과의 부호화 스트림을 출력한다. 한편, 출력 버퍼(430)는 CPB 관리부(440)로부터 리트라이 정보를 받은 경우, 부호화 중의 GOP에 대해 축적된 부호화 스트림을 파기한다.
CPB 관리부(440)는, 부호화부(420)로부터 입력되는 부호량 정보를 이용하여 시각과 함께 변화하는 CPB의 잔부호량을 구한다. 즉, 도 1의 개념도에서 나타낸 CPB의 잔부호량을 구한다. 그리고, CPB 언더플로우가 발생한 경우, 리트라이 정보를 입력 버퍼(410), 부호화부(420), 파라미터 조정부(470), 출력 버퍼(430)에 출력하고, CPB 언더플로우가 발생하였음을 통지한다. 또한, CPB 관리부(440)는 GOP의 부호화가 완료된 시점에서의 CPB 잔부호량을 CPB 상태 예측부(450)에 출력한다.
CPB 상태 예측부(450)는 CPB 잔부호량이 소정의 문턱값보다 큰지를 판정하여, 문턱값보다 큰 경우에는 리트라이 포인트 관리부(460)에 다음 GOP의 리트라이 포인트는 그 GOP의 선두 I픽처임을 나타내는 정보를 리트라이 포인트 변경 유무 정보로서 통지한다. 반대로 문턱값보다 작은 경우에는, 다음 GOP의 선두 픽처의 리트라이 포인트는 그 GOP의 직전 GOP의 선두 픽처(I픽처)임을 나타내는 정보를 리트라이 포인트 변경 유무 정보로서 통지한다.
리트라이 포인트 관리부(460)는, 이로부터 부호화하는 GOP의 선두 픽처에서 리트라이 포인트가 직전 GOP의 선두 픽처임을 리트라이 변경 유무 정보가 나타내는 경우에 그 리트라이 포인트를 입력 버퍼(410)에 통지함과 동시에, 선두 픽처의 부호화에서 재부호화가 발생하지 않은 경우에 다음 픽처의 부호화로부터 리트라이 포인트를 현재 부호화하고 있는 GOP의 선두 픽처로 하는 것을 입력 버퍼(410)에 통지한다. 또한, 리트라이 포인트가 이로부터 부호화하는 GOP의 선두 픽처임을 리트라이 변경 유무 정보가 나타내는 경우에, 그 리트라이 포인트를 입력 버퍼(410)와 출력 버퍼(430)에 통지한다. 여기서는, 이들 통지 정보를 리트라이 포인트 정보라고 한다. 전술한 바와 같이, 입력 버퍼(410)는 재부호화시에는 리트라이 포인트 정보에 기초한 픽처부터 부호화부(420)에 영상 신호를 입력하고, 출력 버퍼(430)는 리트라이 포인트 정보에 기초하여 출력하는 것이 확정된 부호화 스트림만을 출력한다.
파라미터 조정부(470)는 CPB 관리부(440)로부터 리트라이 정보를 받은 경우, 전술한 바와 같이 재부호화용 부호화 파라미터를 부호화부(420)에 입력한다. 이에 의해, 부호화부(420)는 재부호화시에는 같은 GOP에 대해 발생 부호량이 적어지는 부호화 파라미터를 이용하여 부호화를 하게 된다.
본 실시예에서의 부호화 처리의 흐름에 대해 도 14의 흐름도에 따라 설명한다. 이하의 설명에서는 S401, S402, …등과 같이 문장 중에 도 14의 흐름도와의 대응을 기재한다.
어떤 GOP의 부호화를 행하는 처리에 대해 처음 GOP를 GOP1, 다음 GOP를 GOP2라고 하여 이하와 같이 4가지 케이스로 나누어 설명한다.
·[케이스 1]: GOP1의 부호화에서 CPB 언더플로우가 발생하지 않고 GOP1의 부호화가 완료되고, 다음 GOP2의 선두 픽처의 부호화에서도 CPB 언더플로우가 발생하지 않았다.
·[케이스 2]: GOP1의 부호화가 완료되고, 다음 GOP2의 선두 픽처의 부호화에서 CPB 언더플로우가 발생하여 재부호화가 필요하게 되었다.
·[케이스 3]: GOP2의 중간 픽처의 부호화에서 CPB 언더플로우가 발생하여 재부호화가 필요하게 되었다.
·[케이스 4]: GOP2의 부호화에서 CPB 언더플로우가 발생하고 재부호화에서도 회피할 수 없었다.
[케이스 1의 처리예]
우선, GOP1의 부호화에서 CPB 언더플로우가 발생하지 않은 경우의 케이스 1에 대해 설명한다. GOP1의 픽처가 입력 버퍼(410)에 입력되면, 입력 버퍼(410)는 그 픽처를 축적함과 동시에 부호화부(420)에 그 픽처를 부호화 대상 픽처로서 입력한다(S401). 그리고, 부호화부(420)는 그 픽처를 부호화하고, 출력 버퍼(430)에 부호화 스트림을 출력함과 동시에(출력 버퍼(430)는 그 부호화 스트림은 출력하지 않고 축적함), 그 픽처에 관한 CPB 관리부(440)에 부호량 정보를 출력한다(S402).
여기서, 부호화에서는 디폴트 부호화 파라미터가 이용되고, 디폴트 부호화 파라미터에 대응한 프리필터 강도로 부호화 대상 픽처에 프리필터부(421)에 의한 필터링 처리가 적용되며, 본 픽처에서 발생한 DCT 계수는 디폴트 부호화 파라미터에 따른 양자화 파라미터에서 양자화부(422)에 의해 양자화된다.
CPB 관리부(440)는 그 픽처에 대해 부호화부(420)로부터 입력된 부호량 정보를 기초로 CPB 잔부호량을 계산하고, 이 예에서는 CPB 언더플로우가 발생하지 않기 때문에 리트라이 정보의 출력은 하지 않는다(S403). 부호화 대상 픽처가 입력 영상 신호 중의 최종 픽처이면, 출력 버퍼(430)는 축적되어 있는 부호화 스트림을 출력하고 부호화 처리가 완료된다(S404).
부호화 대상 픽처가 GOP1의 선두 픽처이면(S405), 리트라이 포인트 관리부(460)는 GOP1의 선두 픽처(I픽처)를 리트라이 포인트로 설정하고(S406), 이어서 부호화부(420)는 다음 픽처의 부호화를 진행한다.
혹은 부호화 대상 픽처가 GOP의 최종 픽처이면, 파라미터 조정부(470)는 재부호화에서 재부호화용 부호화 파라미터가 이용되고 있던 경우에 부호화 파라미터를 디폴트 부호화 파라미터로 변경한다(S408).
한편, CPB 관리부(440)가 CPB 잔부호량 정보를 CPB 상태 예측부(450)에 출력하고, CPB 상태 예측부(450)는 CPB 잔부호량이 소정의 문턱값보다도 큰지를 판정한다(S409). 그 판정 결과를 전술한 리트라이 포인트 변경 유무 정보로서 리트라이 포인트 관리부(460)에 통지한다. 리트라이 포인트 관리부(460)는 리트라이 포인트 변경 유무 정보가 리트라이 포인트를 변경하지 않음(문턱값 미만)을 나타내는 경우, 입력 버퍼(410)에 리트라이 포인트가 GOP1의 선두 픽처임을 리트라이 포인트 정보로서 통지한다. 그 후, GOP2의 선두 I픽처의 부호화 처리로 진행하고(S402), 그 I픽처의 부호화에서 CPB 언더플로우가 발생하지 않은 경우(S403), 리트라이 포인트 관리부(460)는 입력 버퍼(410) 및 출력 버퍼(430)에 리트라이 포인트가 GOP2의 선두 픽처임을 통지한다(S406). 즉, 그 이후의 GOP2의 픽처에서 재부호화가 발생한 경우, GOP2의 선두 픽처부터 재부호화가 행해진다.
전술한 GOP1의 부호화가 완료된 시점에서 CPB 잔부호량이 충분히 있는 경우에는, 리트라이 포인트를 변경하는 것을 나타내는 리트라이 변경 유무 정보가 CPB 상태 예측부(450)로부터 리트라이 포인트 관리부(460)에 출력되고, 리트라이 포인트 관리부(460)는 입력 버퍼(410)에 리트라이 포인트는 GOP2의 선두 픽처임을 리트라이 포인트 정보로서 통지한다(S410). 이 경우, 다음에 GOP2의 어느 픽처에서 CPB 언더플로우가 발생해도 GOP2의 선두 픽처부터 재부호화가 행해진다.
[케이스 2의 처리예]
다음에, GOP2의 선두 픽처의 부호화에서 CPB 언더플로우가 발생하고 재부호화에서 회피할 수 있는 경우의 케이스 2에 대해 설명한다. 케이스 1과 같이, GOP1의 부호화가 완료된 시점에서의 리트라이 포인트 변경 유무 정보가 CPB 잔부호량이 적기 때문에 리트라이 포인트를 변경하지 않는 것을 나타내는 경우, 리트라이 포인트 관리부(460)는 입력 버퍼(410)에 리트라이 포인트는 GOP1의 선두 I픽처임을 통지한다.
GOP2의 선두 I픽처의 부호화 처리로 진행하고, 그 픽처에서 CPB 관리부(440)에 의해 CPB 언더플로우가 발생하였음이 검출된 경우(S403), CPB 관리부(440)로부터의 리트라이 정보에 기초하여 입력 버퍼(410)는 GOP1의 선두 픽처부터 순차적으로 부호화부(420)에 픽처를 입력시키고 부호화부(420)에서 재부호화가 행해진다. 이때의 부호화 파라미터는 파라미터 조정부(470)로부터 설정된 재부호화용 부호화 파라미터가 이용된다(S413). 이 재부호화에서는, 프리필터부(421)에 의해 재부호화용 부호화 파라미터에 대응한 프리필터 강도(디폴트 부호화 파라미터보다 블러(blur) 정도가 큼)로 부호화 대상 픽처에 프리필터링 처리가 적용되며, 본 픽처에서 발생한 DCT 계수는 재부호화용 부호화 파라미터에 따른 양자화 파라미터(디폴트 부호화 파라미터보다 양자화 단계 크기가 큼)에서 양자화부(422)에 의해 양자화된다.
이 GOP1의 재부호화에 의해 GOP1의 최종 픽처까지의 부호화가 완료된 경우, 그 때의 CPB 잔부호량에 의해 리트라이 포인트가 GOP1의 선두 픽처 또는 GOP2의 선두 픽처로 설정되고, 이어서 GOP2의 선두 픽처의 부호화 처리가 진행된다.
[케이스 3의 처리예]
앞의 케이스 2에서는 GOP2의 선두 픽처의 부호화에서 CPB 언더플로우가 발생하여 재부호화가 필요하게 된 예를 설명하였지만, GOP2의 선두 픽처 이외의 픽처에서 CPB 언더플로우가 발생한 경우에는 마찬가지로 재부호화용 부호화 파라미터를 이용하여 GOP2의 선두 픽처부터 재부호화가 행해지게 된다.
GOP2의 중간 픽처에서 재부호화가 행해졌을 때의 부호화 파라미터의 변경의 개념도를 도 7에 나타낸다. 도 7의 예에서는 제1 실시예와 같이 GOP2의 6번째 픽처의 부호화에서 CPB 언더플로우가 발생하였으므로, 발생 부호량을 억제하는 재부호화용 부호화 파라미터를 설정하여 GOP2의 선두 I픽처부터 재부호화하고 있다. 재부호화에 의해 CPB 언더플로우의 발생이 억제되었으므로, 다음 GOP3의 부호화에서는 재부호화용 부호화 파라미터를 디폴트 부호화 파라미터로 되돌리고 부호화 처리를 계속한다.
재부호화가 행해졌을 때의 CPB 잔부호량의 천이의 개념도를 도 8에 나타낸다. 제1 내지 제3 실시예와 같이, 굵은 선으로 나타낸 선이 재부호화 후의 CPB 잔부호량이다. 재부호화에서는 프리필터에서 블러(blur) 정도를 강하게 하고, 양자화 파라미터도 디폴트 부호화 파라미터보다도 크게 하기 때문에 발생 부호량이 억제되고, 예를 들면 도 8과 같은 천이가 행해지며 CPB 언더플로우가 억제된다.
[케이스 4의 처리예]
마지막으로, GOP2의 부호화에서 CPB 언더플로우가 발생하고 재부호화에서도 회피할 수 없었던 경우의 케이스 4에 대해 설명한다. 이 경우, CPB 관리부(440)에 의해 CPB 언더플로우가 검지되고 GOP2의 재부호화를 행하는 동작은 앞의 케이스 3과 같다. 이 GOP2의 재부호화 중에 CPB 언더플로우가 발생한 경우, 부호화를 완료한다(S411). 또, 부호화를 완료하는 것이 아니라, 저속도촬영을 허용하고 부호화를 완료하지 않으며 CPB 언더플로우가 발생한 픽처의 부호화 데이터를 파기하고 다음 픽처를 부호화하도록 처리해도 된다.
<제5 실시예>
다음에, 본 발명의 제5 실시예에 대해 설명한다. 도 17은 본 발명의 제5 실시예에 관한 동화상 부호화 제어 방법을 나타내는 처리 흐름도이다.
부호화순으로 M장째의 픽처와 N장째(N>M)의 픽처에 관해 N-M을 픽처 간 거리라고 한다. 처음에, 외부로부터 주어진 이용 가능한 메모리양의 정보에 기초하여 재부호화시에 메모리 제한 내에서 최대로 되돌릴 수 있는 픽처 간 거리인 최대 픽처 간 거리를 구하고 기억한다(S500).
다음에, 입력 영상 신호에서의 부호화가 종료된 픽처의 다음 픽처(부호화 개시시에는 입력 영상 신호의 선두 픽처)를 부호화 대상으로 설정한다(단계 S501). 부호화 대상으로 설정한 입력 픽처를 H.264 그 밖의 소정의 부호화 방식에 의해 부호화한다(단계 S502). 입력 픽처의 부호화에 의해 CPB 언더플로우가 발생하였는지를 판정하여(단계 S503), CPB 언더플로우가 발생한 경우에는 단계 S507로 진행한다. 또, CPB 언더플로우가 발생하였는지는 예를 들면 H.264의 표준 규격 등에서 이용되고 있는 방법으로 판정할 수 있다.
CPB 언더플로우가 발생하지 않았으면, 최종 픽처의 부호화가 완료되었는지를 판정하고(단계 S504), 최종 픽처까지 부호화가 완료되었다면 부호화 처리를 종료한다.
그렇지 않으면, 부호화순 픽처군의 부호화가 완료되었는지를 판정한다(단계 S505). 완료되지 않았으면, 단계 S501로 되돌아가 다음 픽처에 대해 마찬가지로 부호화 처리를 계속한다. 부호화순 픽처군의 부호화가 완료된 경우, 부호화 파라미터가 부호화순 픽처군의 재부호화(리트라이)에서 변경되어 있으면, 부호화 파라미터를 통상의 부호화시의 값으로 되돌리고(단계 S506), 단계 S501로 되돌아가 다음 부호화순 픽처군의 선두 픽처부터 부호화 처리를 한다.
단계 S503에서 CPB 언더플로우가 발생하였음이 검출된 경우, 현재 부호화 중의 픽처는 재부호화가 행해졌는지(리트라이 완료인지)를 판정한다(단계 S507). 리트라이 완료인 경우, 부호화순 픽처군 내의 픽처를 재부호화해도 CPB 언더플로우를 회피할 수 없으므로 부호화를 종료한다. 리트라이 완료가 아닌 경우, 현재 부호화순 픽처군 내의 픽처의 재부호화를 위해 리트라이 포인트를 설정한다. 즉, 단계 S500에서 산출한 최대 픽처 간 거리의 범위 내의 부호화 중의 부호화순 픽처군에 포함되는 가장 떨어진 픽처를 부호화 대상으로 설정한다(단계 S508). 그리고, 2개의 부호화 파라미터(양자화 파라미터, 프리필터 강도) 중 하나 이상을 변경하고(양자화 파라미터는 단계 크기를 보다 크게, 필터 강도의 경우는 블러(blur) 정도를 보다 크게 변경)(단계 S509), 단계 S502로 되돌아가 리트라이 포인트로 설정한 부호화순 픽처군의 픽처부터 재부호화한다.
이상의 재부호화 처리에 의하면, 입력 영상의 모든 프레임을 2회 부호화하는 종래기술 b와 달리, CPB 언더플로우가 발생한 경우에 한해 부호화순 픽처군(예를 들면, GOP) 내의 복수 픽처를 2회 부호화한다. 2회째의 부호화시에는 CPB 언더플로우를 억제하는 부호화 파라미터에서 부호화를 행한다. CPB 언더플로우가 발생한 경우에 한해, 그것이 생긴 부호화순 픽처군 내의 복수 픽처만을 재부호화함으로써 CPB 언더플로우를 억제한다. 따라서, 입력 영상의 모든 픽처를 2번 부호화하는 종래기술 b와 비교하여 연산량을 삭감할 수 있다. 또한, 입력 버퍼 및 출력 버퍼로서 필요하게 되는 메모리도 소정수의 픽처에 상당하는 분만큼으로 되고, 메모리의 삭감을 도모할 수 있다.
도 18은 본 발명의 제5 실시예에 관한 동화상 부호화 제어 방법의 변형예를 나타내는 처리 흐름도이다. 본 발명은 도 17에 도시된 단계 S506의 처리를 도 18에 도시된 단계 S561~S563의 처리로 치환하여 실시할 수도 있다. 단계 S506 이외의 처리는 도 17과 같다.
도 17의 단계 S505의 처리 후, 부호화 파라미터가 리트라이에서 변경되어 있는지를 판정한다(단계 S561). 리트라이에서 변경되지 않으면, 도 17의 단계 S501로 되돌아간다. 리트라이에서 변경되어 있으면, 다음에 CPB 잔부호량이 소정의 문턱값 이상인지를 판정한다(단계 S562). 소정의 문턱값 미만이면, 부호화 파라미터를 재부호화에서 이용한 상태인 채로 하고, 소정의 문턱값 이상인 경우에만 부호화 파라미터를 원래의 디폴트 부호화 파라미터로 되돌린다(단계 S563). 그 후에, 도 17의 단계 S501로 되돌아가 다음 부호화순 픽처군의 부호화로 이동한다.
도 18에 도시된 변형예에서는, 이상과 같이 부호화순 픽처군의 부호화가 완료된 시점에서 CPB 잔부호량이 소정량을 넘는 경우에만 부호화 파라미터를 통상의 부호화시의 값으로 되돌린다. 이는 다음 이유에 의한다. 부호화순 픽처군의 부호화가 완료되었다고 해도, CPB 잔부호량이 적은 경우 부호화 파라미터를 통상의 부호화시의 값으로 되돌리면 발생 부호량이 보다 많아지기 때문에, 다음 부호화순 픽처군의 부호화에서 CPB 언더플로우가 발생할 가능성이 높아진다. 도 18의 처리에서는 CPB 잔부호량이 적은 경우에는 부호화 파라미터를 변경하지 않기 때문에, 도 17의 처리에 비해 다음 부호화순 픽처군의 부호화에서의 재부호화의 발생이 억제되고 연산량이 더욱 삭감된다.
이상과 같이, 본 실시형태에서는 재부호화시에 부호화 파라미터를 변경한다. 여기서는, 부호화시에 입력 영상에 대해 프리필터를 적용하는 것으로 하고, 변경하는 부호화 파라미터로서는 양자화 파라미터와 프리필터 강도로 한다. 이 2개의 부호화 파라미터의 쌍방을 변경해도 되고, 어느 한쪽만을 변경해도 된다.
양자화 파라미터에 대해서는, 통상의 부호화시의 양자화 파라미터 값에 대해 소정의 오프셋 값을 더하고 보다 큰 양자화 파라미터에서 재부호화한다.
프리필터에 대해서는, 제1 실시예와 같이 가우시안 필터를 이용하는 것으로 한다. 가우시안 필터는 전술한 식(1)에서 나타나는 가우스 분포를 x, y에 대해 샘플링함으로써 작성할 수 있다.
식(1)에서, σ=O의 경우에는 가우시안 필터를 작동시키지 않는 것으로 하고, 예를 들면 디폴트 부호화 파라미터는 σ0=0, 재부호화용 부호화 파라미터는 σ1>0으로 한다. 또, 본 발명에서는 로우 패스 필터의 종류는 묻지 않는다. 또한, 재부호화시의 블러(blur) 정도가 강한 쪽도 미리 임의로 정해도 된다. 예를 들면, 디폴트 부호화 파라미터의 σ0은 픽처마다의 복잡도에 따라 변경하고, σ1은 σ0에 소정의 오프셋을 더한 것인 구성이어도 된다.
부호화는 H.264의 규격에 따른 부호화를 행하는 것으로 한다. 또한, 본 실시예에서는 부호화순 픽처군은 GOP라고 하고, 부호화할 때의 GOP의 개념도를 도 5에 나타낸다. 제1 실시예와 같이, 하나의 GOP는 10픽처로 구성되고, 표시순으로 I픽처를 선두로 B픽처와 P픽처가 교대로 나열되는 것으로 한다.
본 발명의 제5 실시예에 관한 장치 구성예를 도 19에 나타낸다. 최대 픽처 간 거리 결정부(600)는 외부로부터 사용 가능 메모리양이 통지되고(사용 가능 메모리양 정보), 이에 기초하여 재부호화시에 최대로 되돌릴 수 있는 최대 픽처 간 거리를 구한다. 본 실시예에서는, 재부호화에 대비하기 위해 입력 버퍼(510)에 부호화 중의 GOP의 입력 영상 신호, 출력 버퍼(530)에 부호화 중의 GOP의 부호화 스트림을 축적해 둔다. 최대 픽처 간 거리 결정부(600)는, GOP 길이를 최대 픽처 간 거리라고 한 경우부터 시작하여 최대 픽처 간 거리의 값을 줄이면서 입력 버퍼(510) 및 출력 버퍼(530)의 최악의 케이스에서의 필요 메모리양 및 다른 이용 메모리양의 총합이 사용 가능 메모리양 이하가 되는 픽처 간 거리를 구하고 최대 픽처 간 거리를 결정한다.
여기서, 최대 픽처 간 거리를 구할 때의 필요 메모리양의 계산예를 나타낸다. 우선, 입력 버퍼(510)의 필요 메모리양은 다음과 같이 된다.
입력 버퍼의 필요 메모리양=(최대 픽처 간 거리+1)×(1픽처의 데이터량)
한편, 출력 버퍼(530)의 필요 메모리양은 CPB의 크기 및 비트 레이트의 제한 하에서 CPB 언더플로우를 발생시키지 않고 발생할 수 있는 최대의 부호량으로 한다. 구체적으로 GOP의 부호 개시 직전에 CPB 잔부호량이 CPB의 크기와 같은 상태에서 CPB에 비트 레이트에 따라 입력되는 데이터를 전부 사용한 경우(GOP 부호화 후에 CPB 잔부호량이 0)가 발생할 수 있는 최대의 부호량이 된다. 비트수에서의 계산식으로서는 출력 버퍼의 필요 메모리양은 다음 식과 같이 된다.
출력 버퍼의 필요 메모리양=(비트 레이트/1초당 픽처수)×(최대 픽처 간 거리+1)+(비트수에서의 CPB의 크기)
또, 다음과 같은 데이터의 데이터량도 계산할 필요가 있는 경우가 있다. H.264의 경우, 재부호화에 대비하여 GOP의 부호화 중에 작성된 복호 화상을 참조 화상으로서 남겨 둘 필요가 있다(남겨 두지 않은 경우, 재부호화시에 리트라이 포인트부터 부호화할 때의 참조 화상이 없는 상태가 됨). GOP 내의 픽처는 그 GOP 이전의 픽처를 참조하지 않기 때문에, 참조 화상으로서 DPB(Decoded Picture Buffer)에 저장하는 것은 I 및 P픽처의 전제의 경우 다음과 같이 메모리를 확보해 두면 모든 상황에서 메모리가 충분하게 된다.
GOP의 마지막 픽처에서 재부호화가 발생한 경우에, 재부호화를 개시하는 픽처(최대 픽처 간 거리의 픽처)보다도 부호화순에서 과거인 부호화순 픽처군 내의 I 및 P픽처의 수의 분만큼 메모리를 갖고 있으면 된다.
도 20에 이 필요 메모리양을 설명하는 개념도를 나타낸다. 예를 들면, 도 20에 도시된 바와 같이 GOP가 10픽처 구성이고 최대 픽처 간 거리가 6이라고 한다. 입력 버퍼(510)에 유지해야 할 픽처수는 최대로 7이 된다. 한편, 도 20의 예의 경우, 재부호화를 위해서는 선두 I픽처와 다음 P픽처의 복호 화상에 대해서도 참조 화상으로서 메모리에 유지해 둘 필요가 있다. 최대 픽처 간 거리가 GOP 길이와 같은 경우와 비교하면, 도 20과 같은 경우에 선두 I픽처와 2번째 P픽처의 두 픽처분의 DPB를 추가로 유지할 필요가 있는데, 입력 버퍼(510)에 유지해야 할 픽처수는 3개 줄어든다. 즉, 최대 픽처 간 거리가 작을수록 참조 화상의 메모리양이 늘어나지만 입력 버퍼(510)에 저장해야 할 픽처수의 감소량이 많기 때문에, 최대 픽처 간 거리를 작게 하면 필요 메모리양이 줄어드는 것을 알 수 있다.
또한, H.264에서는 참조 화상의 움직임 벡터를 참조하는 경우가 있기 때문에, 이를 위한 메모리가 필요한 경우가 있다. 그 밖에 인코더의 구성 등에 의존하여 필요한 메모리를 계산한다. 이들의 총합이 사용 가능 메모리양 이하에 있는 픽처 간 거리를 구하여 최대 픽처 간 거리를 결정하게 된다.
또, 본 발명의 실시에 있어서 최대 픽처 간 거리 결정부(600)에 외부로부터 사용 가능 메모리양을 통지하여 최대 픽처 간 거리를 계산하는 것이 아니라, 외부에서 최대 픽처 간 거리를 계산하여 최대 픽처 간 거리 결정부(600)에 부여하도록 해도 된다.
최대 픽처 간 거리 결정부(600)는, 결정한 최대 픽처 간 거리 정보를 리트라이 포인트 관리부(560)에 통지한다.
입력 버퍼(510)는, 입력되는 영상 신호를 축적함과 동시에 부호화부(520)에 부호화 대상의 영상 신호를 출력한다. 또, 입력 버퍼(510)는 후술하는 CPB 관리부(540)로부터 CPB 언더플로우가 발생하고 재부호화를 행하는 것을 나타내는 정보(리트라이 정보)를 받은 경우, 리트라이 포인트 관리부(560)로부터 통지된 리트라이 포인트의 픽처부터 영상 신호를 다시 부호화부(520)에 출력한다. 또한, 입력 버퍼(510)는 리트라이 포인트 관리부(560)로부터 리트라이 포인트 정보가 통지되면, 축적되어 있던 리트라이 포인트 이전의 픽처에 대응하는 영상 신호의 데이터를 파기한다.
부호화부(520)는 입력 버퍼(510)로부터 입력된 영상 신호를 부호화하고, 부호화 스트림을 출력 버퍼(530)에 출력한다. 또한, 부호화부(520)는 픽처의 부호화가 완료되었을 때에 입력된 영상 신호를 부호화했을 때에 발생한 부호량(부호량 정보)을 CPB 관리부(540)에 출력함과 동시에, 리트라이 포인트 관리부(560)에 픽처의 부호화가 완료되었음을 나타내는 정보(부호화 완료 픽처 정보)를 출력한다. 또, 부호화부(520)는 CPB 관리부(540)로부터 리트라이 정보를 받은 경우, 부호화 중의 GOP에서의 리트라이 포인트의 픽처로부터의 영상 신호가 입력 버퍼(510)로부터 다시 입력됨과 동시에 파라미터 조정부(550)로부터 재부호화용 부호화 파라미터가 입력되기 때문에, 입력된 재부호화용 부호화 파라미터를 이용하여 재부호화를 행한다.
출력 버퍼(530)는, GOP의 부호화 결과인 부호화 스트림을 축적함과 동시에 리트라이 포인트 관리부(560)로부터 리트라이 포인트 정보가 통지되면, 그것까지 축적되어 있던 리트라이 포인트 이전의 픽처에 대응하는 부호화 스트림을 출력하고, 그 데이터를 출력 버퍼(530)로부터 제거한다. 또한, CPB 관리부(540)로부터 리트라이 정보를 받은 경우, 부호화 중의 GOP에 대해 축적한 부호화 스트림을 파기한다.
CPB 관리부(540)는, 부호화부(520)로부터 입력되는 부호량 정보를 이용하여 시각과 함께 변화하는 CPB의 잔부호량을 구한다. 즉, 도 1의 개념도에서 나타낸 CPB의 잔부호량을 구한다. 그리고, CPB 언더플로우가 발생한 경우, 리트라이 정보를 입력 버퍼(510), 부호화부(520), 파라미터 조정부(550), 출력 버퍼(530)에 출력하고, CPB 언더플로우가 발생하였음을 통지한다.
파라미터 조정부(550)는 CPB 관리부(540)로부터 리트라이 정보를 받은 경우, 전술한 바와 같이 재부호화용 부호화 파라미터를 부호화부(520)에 입력한다. 이에 의해, 부호화부(520)는 재부호화시에는 같은 GOP에 대해 발생 부호량이 적어지는 부호화 파라미터를 이용하여 부호화를 하게 된다.
리트라이 포인트 관리부(560)는, 부호화 완료 픽처 정보 및 최대 픽처 간 거리 정보에 기초하여 다음 픽처의 부호화에서 CPB 언더플로우가 발생한 경우에 어디가 리트라이 포인트가 되는지를 나타내는 리트라이 포인트 정보를 입력 버퍼(510), 출력 버퍼(530)에 통지한다.
본 실시예에서의 부호화 처리의 흐름에 대해 도 17의 흐름도에 따라 설명한다. 이하의 설명에서는 S501, S502, …등과 같이 문장 중에 도 17의 흐름도와의 대응을 기재한다.
어떤 GOP의 부호화를 행하는 처리에 대해 이하와 같이 3가지 케이스로 나누어 설명한다.
·[케이스 1]: GOP의 부호화에서 CPB 언더플로우가 발생하지 않았다.
·[케이스 2]: GOP의 부호화에서 CPB 언더플로우가 발생하고 재부호화에서 회피할 수 있었다.
·[케이스 3]: GOP의 부호화에서 CPB 언더플로우가 발생하고 재부호화에서도 회피할 수 없었다.
[케이스 1의 처리예]
우선, GOP의 부호화에서 CPB 언더플로우가 발생하지 않은 경우의 케이스 1에 대해 설명한다. GOP의 픽처가 입력 버퍼(510)에 입력되면, 입력 버퍼(510)는 그 픽처를 축적함과 동시에 부호화부(520)에 그 픽처를 부호화 대상 픽처로서 입력한다(S501). 그리고, 부호화부(520)는 그 픽처를 부호화하고, 출력 버퍼(530)에 부호화 스트림을 출력함과 동시에(출력 버퍼(530)는 그 부호화 스트림은 출력하지 않고 축적함), 그 픽처에 관한 CPB 관리부(540)에 부호량 정보를 출력한다. 또한, 리트라이 포인트 관리부(560)에 부호화 완료 픽처 정보를 출력한다(S502).
여기서, 부호화에서는 디폴트 부호화 파라미터가 이용되고, 디폴트 부호화 파라미터에 대응한 프리필터 강도로 부호화 대상 픽처에 프리필터부(521)에 의한 필터링 처리가 적용되며, 본 픽처에서 발생한 DCT 계수는 디폴트 부호화 파라미터에 따른 양자화 파라미터에서 양자화부(522)에 의해 양자화된다.
CPB 관리부(540)는 그 픽처에 대해 부호화부(520)로부터 입력된 부호량 정보를 기초로 CPB 잔부호량을 계산하고, 이 예에서는 CPB 언더플로우가 발생하지 않기 때문에 리트라이 정보의 출력은 하지 않는다(S503). 부호화 대상 픽처가 입력 영상 신호 중의 최종 픽처이면, 출력 버퍼(530)는 축적되어 있는 부호화 스트림을 출력하고 부호화 처리가 완료된다(S504). 혹은 부호화 대상 픽처가 GOP의 최종 픽처이면, 출력 버퍼(530)는 축적되어 있던 부호화 스트림을 출력함과 동시에, 입력 버퍼(510)는 축적되어 있던 픽처를 파기하고 다음 GOP의 처음 픽처의 부호화 처리로 이동한다(S505). 여기서, 그 GOP에서는 재부호화가 발생하지 않았기 때문에, 부호화 파라미터에 변경을 가하지 않고 다음 GOP의 처음 픽처의 부호화 처리로 이동한다(S506).
[케이스 2의 처리예]
다음에, GOP의 부호화에서 CPB 언더플로우가 발생하고 재부호화에서 회피할 수 있었던 경우의 케이스 2에 대해 설명한다. GOP의 픽처가 입력 버퍼(510)에 입력되면, 입력 버퍼(510)는 그 픽처를 축적함과 동시에 부호화부(520)에 그 픽처를 부호화 대상 픽처로서 입력한다(S501). 그리고, 부호화부(520)는 그 픽처를 부호화하고, 출력 버퍼(530)에 부호화 스트림을 출력함과 동시에(출력 버퍼(530)는 그 부호화 스트림은 출력하지 않고 축적함), 그 픽처에 관한 CPB 관리부(540)에 부호량 정보를 출력한다(S502). 여기서, 부호화에서는 디폴트 부호화 파라미터가 이용된다.
CPB 관리부(540)는, 그 픽처에 대해 부호화부(520)로부터 입력된 부호량 정보를 기초로 CPB 잔부호량을 계산한다. 이 결과, 그 픽처에 대해 CPB 관리부(540)가 CPB 언더플로우를 검지한 경우, CPB 관리부(540)는 부호화부(520), 파라미터 조정부(550), 입력 버퍼(510), 출력 버퍼(530)에 리트라이 정보를 출력한다(S503).
부호화 중의 GOP에 대해 아직 리트라이가 발생하지 않은 경우(S507), 입력 버퍼(510)는 축적되어 있던 부호화 중의 GOP에서의 리트라이 포인트가 나타내는 위치의 픽처를 부호화부(520)에 출력함과 동시에(S508), 파라미터 조정부(550)는 부호화부(520)에 재부호화용 부호화 파라미터를 출력한다(S509). 또, 출력 버퍼(530)는 부호화 중의 GOP의 부호화 스트림을 파기한다. 그리고, 부호화부(520)는 재부호화용 부호화 파라미터를 이용하여 입력된 리트라이 포인트 이후의 픽처를 부호화한다.
여기서, 부호화에서는 재부호화용 부호화 파라미터가 이용되고, 재부호화용 부호화 파라미터에 대응한 프리필터 강도(디폴트 부호화 파라미터보다 블러(blur) 정도가 큼)로 부호화 대상 픽처에 프리필터부(521)에 의한 프리필터링 처리가 적용되며, 본 픽처에서 발생한 DCT 계수는 재부호화용 부호화 파라미터에 따른 양자화 파라미터(디폴트 부호화 파라미터보다 양자화 단계 크기가 큼)에서 양자화부(522)에 의해 양자화된다.
이후, CPB 언더플로우가 발생하지 않는 한 그 GOP의 픽처가 순차적으로 입력 버퍼(510)로부터 부호화부(520)에 입력되고, 부호화부(520)에 의해 부호화 처리가 행해진다. 그리고, GOP의 최종 픽처가 부호화가 완료된 경우(S505), 출력 버퍼(530)로부터 그 GOP의 부호화 스트림이 출력됨과 동시에, 부호화부(520)는 부호화 파라미터를 디폴트 부호화 파라미터로 설정하고(S506), 다음 GOP의 부호화 처리로 진행한다. 또, 입력 영상의 최종 픽처의 부호화가 완료된 경우의 동작은 전술한 케이스 1의 경우와 같이 동작한다.
재부호화가 행해졌을 때의 부호화 파라미터의 변경의 개념도를 도 7에 나타낸다. 제1 실시예와 같이, 도 7의 예에서는 2번째 GOP2의 6번째 픽처의 부호화에서 CPB 언더플로우가 발생하였으므로, 발생 부호량을 억제하는 재부호화용 부호화 파라미터를 설정하여 최대 픽처 간 거리의 범위 내의 GOP2의 선두 I픽처부터 재부호화하고 있다. 재부호화에 의해 CPB 언더플로우의 발생이 억제되었으므로, 다음 GOP3의 부호화에서는 재부호화용 부호화 파라미터를 디폴트 부호화 파라미터로 되돌리고 부호화 처리를 계속한다.
재부호화가 행해졌을 때의 CPB 잔부호량의 천이의 개념도를 도 8에 나타낸다. 제1 내지 제4 실시예와 같이, 굵은 선으로 나타낸 선이 재부호화 후의 CPB 잔부호량이다. 재부호화에서는 프리필터에서 블러(blur) 정도를 강하게 하고, 양자화 파라미터도 디폴트 부호화 파라미터보다도 크게 하기 때문에 발생 부호량이 억제되고, 예를 들면 도 8과 같은 천이가 행해지며 CPB 언더플로우가 억제된다.
도 21은 리트라이 포인트를 최대 픽처 간 거리로 제한하는 것에 의한 입력 버퍼와 출력 버퍼의 메모리 삭감을 설명하는 도면이다. 본 실시예에 의해 리트라이 포인트를 설정하는 경우를 「케이스 A」라고 하여 설명한다. 예를 들면, 본 실시예와는 달리 CPB 언더플로우가 발생하였을 때에 재부호화를 개시하는 픽처를 항상 부호화순 픽처군(예를 들면, GOP)의 선두 픽처로 하는 것도 생각할 수 있다. 이를 「케이스 B」라고 한다. 케이스 A와 케이스 B를 비교하면, 예를 들어 케이스 A에서는 현재 부호화하고 있는 픽처가 도 21에 도시된 바와 같이 GOP2'의 9번째 P픽처이고, 최대 픽처 간 거리가 「5」이었다고 하면, 리트라이 포인트는 GOP2'의 4번째 픽처(P픽처)가 되고, 그 이전의 GOP2'의 선두부터 3픽처(A21)는 재부호화에 이용하지 않기 때문에, 이들 픽처에 대응한 입력 버퍼(510) 및 출력 버퍼(530)의 데이터는 유지해 둘 필요가 없어진다(파기 가능). 이에 대해, 케이스 B와 같은 경우에는 GOP2'의 선두 픽처부터 GOP2의 부호화가 완료될 때까지 입력 버퍼(510) 및 출력 버퍼(530)에 이들 픽처에 대응하는 데이터를 유지해 둘 필요가 있기 때문에, 필요하게 되는 메모리양이 증가한다. 본 실시예(케이스 A)에서는 최대 픽처 간 거리를 산출하여 리트라이 포인트를 설정하기 때문에, 케이스 B보다도 메모리양을 삭감할 수 있다.
[케이스 3의 처리예]
마지막으로, GOP의 부호화에서 CPB 언더플로우가 발생하고 재부호화에서도 회피할 수 없었던 경우의 케이스 3에 대해 설명한다. 이 경우, CPB 관리부(540)에 의해 CPB 언더플로우가 검지되고 GOP의 재부호화를 행하는 동작은 케이스 2와 같다. 이 GOP의 재부호화 중에 CPB 언더플로우가 발생한 경우, 부호화를 완료한다(S507). 또, 부호화를 완료하는 것이 아니라, 저속도촬영을 허용하고 부호화를 완료하지 않으며 CPB 언더플로우가 발생한 픽처의 부호화 데이터를 파기하고 다음 픽처를 부호화하도록 처리해도 된다.
이상 설명한 제1 내지 제5 실시예에 관한 동화상 부호화 제어의 처리는 컴퓨터와 소프트웨어 프로그램에 의해서도 실현할 수 있고, 그 프로그램을 컴퓨터 판독 가능한 기록매체에 기록하는 것도 가능하며 네트워크를 통해 제공하는 것도 가능하다.
본 발명은 영상 신호를 부호화하기 위한 동화상 부호화 기술에 적용할 수 있고, 가상 디코더에서의 부호화 픽처 버퍼 등의 가상 버퍼의 언더플로우가 발생하지 않도록 또한 부호화한 동화상의 화질을 개선할 수 있다.
110, 210, 310, 410, 510 입력 버퍼
120, 220, 320, 420, 520 부호화부
121, 221, 321, 421, 521 프리필터부
122, 222, 322, 422, 522 양자화부
130, 230, 330, 430, 530 출력 버퍼
140, 240, 340, 440, 540 CPB 관리부
150, 260, 370, 470, 550 파라미터 조정부
250, 350 리트라이 카운트 관리부
360, 450 CPB 상태 예측부
460, 560 리트라이 포인트 관리부
600 최대 픽처 간 거리 결정부

Claims (16)

  1. 디코더에서의 가상 버퍼가 파탄하지 않도록 발생 부호량을 제어하여 입력 영상 신호를 부호화하는 동화상 부호화 제어 방법으로서,
    소정수의 픽처로 구성되고, 부호화순으로 연속하는 픽처의 집합인 부호화순 픽처군의 각 픽처에 대해 소정의 부호화 파라미터에 따라 순차적으로 부호화하는 단계;
    상기 각 픽처의 부호화에서 발생한 부호량 정보를 기초로 상기 가상 버퍼에 언더플로우가 발생했는지를 검사하는 단계;
    상기 가상 버퍼에 언더플로우가 발생한 경우에 상기 부호화 파라미터를 부호화에 의한 발생 부호량이 감소하도록 변경하고, 부호화 중의 상기 부호화순 픽처군의 선두 픽처부터 변경 후의 부호화 파라미터를 이용하여 재부호화하는 단계;를 갖는, 동화상 부호화 제어 방법.
  2. 제1항에 있어서,
    상기 순차적으로 부호화하는 단계에서는, 상기 부호화순 픽처군의 각 픽처를 재부호화 횟수를 나타내는 리트라이 카운트에 따라 설정된 부호화 파라미터에 따라 순차적으로 부호화하고,
    상기 재부호화하는 단계에서는, 상기 가상 버퍼에 언더플로우가 발생한 경우에 상기 리트라이 카운트를 증가시키고, 상기 부호화 파라미터를 상기 리트라이 카운트의 값이 클수록 부호화에 의한 발생 부호량이 감소하는 부호화 파라미터로 변경하는, 동화상 부호화 제어 방법.
  3. 제2항에 있어서,
    상기 부호화순 픽처군의 최종 픽처의 부호화가 완료될 때까지 상기 가상 버퍼에 언더플로우가 발생하지 않은 경우에 상기 가상 버퍼의 잔부호량을 조사하여, 상기 잔부호량이 소정의 잔부호량 문턱값 미만 또는 상기 리트라이 카운트가 0이면, 상기 리트라이 카운트의 값을 변경하지 않고, 상기 잔부호량이 상기 잔부호량 문턱값 이상 또한 상기 리트라이 카운트가 0이 아니면, 상기 리트라이 카운트를 감소시키는 단계를 갖는, 동화상 부호화 제어 방법.
  4. 제2항에 있어서,
    상기 부호화순 픽처군에서의 최종 픽처의 부호화가 완료될 때까지 상기 가상 버퍼에 언더플로우가 발생하지 않은 경우에 상기 리트라이 카운트를 감소시키는 단계를 갖는, 동화상 부호화 제어 방법.
  5. 제2항 내지 제4항 중 어느 한 항에 있어서,
    상기 부호화 파라미터는 양자화 파라미터 또는 상기 입력 영상 신호에 대한 프리필터의 필터 강도 또는 그 쌍방이고, 상기 부호화 파라미터가 상기 양자화 파라미터인 경우에는 상기 리트라이 카운트의 값이 클수록 양자화 파라미터의 단계 크기가 큰 부호화 파라미터가 설정되며, 상기 부호화 파라미터가 상기 프리필터의 상기 필터 강도인 경우에는 상기 리트라이 카운트의 값이 클수록 필터링 처리에 의한 블러(blur) 정도가 큰 부호화 파라미터가 설정되는, 동화상 부호화 제어 방법.
  6. 디코더에서의 가상 버퍼가 파탄하지 않도록 발생 부호량을 제어하여 입력 영상 신호를 부호화하는 동화상 부호화 제어 방법으로서,
    화면 내 예측 부호화 픽처를 선두로 하는 소정의 픽처수로 구성되고, 부호화순으로 연속하는 픽처의 집합인 부호화순 픽처군의 각 픽처에 대해 소정의 부호화 파라미터에 따라 순차적으로 부호화하는 단계;
    상기 각 픽처의 부호화에서 발생한 부호량 정보를 기초로 상기 가상 버퍼에 언더플로우가 발생했는지를 검사하는 단계;
    상기 가상 버퍼에 언더플로우가 발생한 경우에 상기 부호화 파라미터를 부호화에 의한 발생 부호량이 감소하도록 변경하고, 리트라이 포인트로 설정된 상기 부호화순 픽처군의 선두 픽처부터 변경 후의 부호화 파라미터를 이용하여 재부호화하는 단계;
    상기 부호화순 픽처군의 부호화가 완료되었을 때에 상기 가상 버퍼의 잔부호량을 조사하여, 상기 잔부호량이 소정의 잔부호량 문턱값 이상이면, 상기 리트라이 포인트를 다음 부호화순 픽처군의 선두 픽처로 설정하고, 상기 가상 버퍼의 상기 잔부호량이 상기 소정의 잔부호량 문턱값 미만이면, 상기 리트라이 포인트를 변경하지 않고 상기 다음 부호화순 픽처군의 상기 선두 픽처의 부호화가 상기 가상 버퍼의 언더플로우를 발생시키지 않고 완료된 후에 상기 리트라이 포인트를 해당 부호화순 픽처군의 선두 픽처로 설정하는 단계;를 갖는, 동화상 부호화 제어 방법.
  7. 디코더에서의 가상 버퍼가 파탄하지 않도록 발생 부호량을 제어하여 입력 영상 신호를 부호화하는 동화상 부호화 제어 방법으로서,
    소정수의 픽처로 구성되고, 부호화순으로 연속하는 픽처의 집합인 부호화순 픽처군의 각 픽처에 대해 소정의 부호화 파라미터에 따라 순차적으로 부호화하는 단계;
    상기 각 픽처의 부호화에서 발생한 부호량 정보를 기초로 상기 가상 버퍼에 언더플로우가 발생했는지를 검사하는 단계;
    상기 가상 버퍼에 언더플로우가 발생한 경우에 상기 부호화 파라미터를 부호화에 의한 발생 부호량이 감소하도록 변경하고, 부호화 중의 상기 부호화순 픽처군에서 리트라이 포인트로 설정된 픽처부터 변경 후의 부호화 파라미터를 이용하여 재부호화하는 단계;
    재부호화시에 재부호화 대상의 픽처로서 되돌아갈 수 있는 최대의 픽처수인 최대 픽처 간 거리를 기초로 상기 재부호화를 개시하는 픽처의 위치를 나타내는 리트라이 포인트를 설정하는 단계;를 갖는, 동화상 부호화 제어 방법.
  8. 제1항, 제6항 또는 제7항에 있어서,
    상기 부호화순 픽처군의 재부호화에서 그 부호화순 픽처군의 최종 픽처의 부호화가 완료될 때까지 상기 가상 버퍼에 언더플로우가 발생하지 않은 경우에, 다음 부호화순 픽처군의 부호화에 이용하는 부호화 파라미터를 통상의 부호화시의 부호화 파라미터 값으로 되돌리는 동화상 부호화 제어 방법.
  9. 제1항, 제6항 또는 제7항에 있어서,
    상기 부호화순 픽처군의 재부호화에서 그 부호화순 픽처군의 최종 픽처의 부호화가 완료될 때까지 상기 가상 버퍼에 언더플로우가 발생하지 않은 경우에, 상기 가상 버퍼의 잔부호량을 조사하여 상기 잔부호량이 소정의 잔부호량 문턱값 미만이면, 다음 부호화순 픽처군의 부호화에 이용하는 부호화 파라미터를 변경하지 않고, 상기 잔부호량이 상기 소정의 잔부호량 문턱값 이상이면, 상기 부호화 파라미터를 통상의 부호화시의 부호화 파라미터 값으로 되돌리는, 동화상 부호화 제어 방법.
  10. 제1항, 제6항 내지 제9항 중 어느 한 항에 있어서,
    상기 부호화 파라미터는 양자화 파라미터 또는 상기 입력 영상 신호에 대한 프리필터의 필터 강도 또는 그 쌍방이고, 상기 부호화순 픽처군의 재부호화시에 상기 부호화 파라미터가 상기 양자화 파라미터인 경우에는 재부호화시에 양자화 파라미터의 단계 크기를 크게 하며, 상기 부호화 파라미터가 상기 프리필터의 상기 필터 강도인 경우에는 필터링 처리에 의한 블러(blur) 정도를 크게 부호화 파라미터의 변경을 행하는, 동화상 부호화 제어 방법.
  11. 디코더에서의 가상 버퍼가 파탄하지 않도록 발생 부호량을 제어하여 입력 영상 신호를 부호화하는 동화상 부호화 장치로서,
    소정수의 픽처로 구성되고, 부호화순으로 연속하는 픽처의 집합인 부호화순 픽처군의 각 픽처에 대해 소정의 부호화 파라미터에 따라 순차적으로 부호화하는 부호화부;
    상기 각 픽처의 부호화에서 발생한 부호량 정보를 기초로 상기 가상 버퍼에 언더플로우가 발생했는지를 검사하고, 상기 가상 버퍼에 언더플로우가 발생했음을 검출한 경우에 리트라이 정보를 출력하는 버퍼 관리부;
    상기 리트라이 정보가 출력된 경우에 상기 부호화 파라미터를 부호화에 의한 발생 부호량이 감소하도록 변경하고, 변경된 부호화 파라미터를 상기 부호화부에 통지하는 파라미터 조정부;를 구비하고,
    상기 부호화부는, 상기 리트라이 정보가 출력된 경우에 부호화 중의 상기 부호화순 픽처군의 선두 픽처부터 상기 파라미터 조정부가 변경한 부호화 파라미터를 이용하여 상기 입력 영상 신호를 재부호화하는, 동화상 부호화 장치.
  12. 제11항에 있어서,
    상기 부호화부는 상기 부호화순 픽처군의 각 픽처를 재부호화 횟수를 나타내는 리트라이 카운트에 따라 설정된 부호화 파라미터에 따라 순차적으로 부호화하고,
    상기 동화상 부호화 장치는 상기 리트라이 정보가 출력된 경우에 상기 리트라이 카운트를 증가시키고, 상기 부호화순 픽처군에서의 최종 픽처의 부호화가 완료될 때까지 상기 리트라이 정보가 출력되지 않은 경우에 상기 리트라이 카운트를 감소시키는 리트라이 카운트 관리부를 구비하며,
    상기 파라미터 조정부는 상기 리트라이 카운트에 따라 정해진 상기 리트라이 카운트의 값이 클수록 부호화에 의한 발생 부호량이 감소하는 부호화 파라미터를 설정하고, 설정된 부호화 파라미터를 상기 부호화부에 통지하는, 동화상 부호화 장치.
  13. 제12항에 있어서,
    상기 가상 버퍼에 언더플로우가 발생하지 않고 상기 부호화순 픽처군에서의 최종 픽처의 부호화가 완료된 경우에, 상기 가상 버퍼의 잔부호량을 조사하여 상기 잔부호량이 소정의 잔부호량 문턱값 이상인지에 의해 파라미터 변경 필요 또는 파라미터 변경 불필요를 나타내는 파라미터 변경 유무 정보를 출력하는 버퍼 상태 예측부를 구비하고,
    상기 리트라이 카운트 관리부는, 상기 버퍼 상태 예측부로부터 파라미터 변경 유무 정보를 입력한 경우에 상기 파라미터 변경 유무 정보가 파라미터 변경 불필요를 나타내거나 또는 상기 리트라이 카운트가 0이면, 상기 리트라이 카운트의 값을 변경하지 않고, 상기 파라미터 변경 유무 정보가 파라미터 변경 필요를 나타내고 상기 리트라이 카운트가 0이 아니면, 상기 리트라이 카운트를 감소시키는, 동화상 부호화 장치.
  14. 디코더에서의 가상 버퍼가 파탄하지 않도록 발생 부호량을 제어하여 입력 영상 신호를 부호화하는 동화상 부호화 장치로서,
    소정수의 픽처로 구성되고, 부호화순으로 연속하는 픽처의 집합인 부호화순 픽처군의 각 픽처에 대해 소정의 부호화 파라미터에 따라 순차적으로 부호화하는 부호화부;
    상기 각 픽처의 부호화에서 발생한 부호량 정보를 기초로 상기 가상 버퍼에 언더플로우가 발생했는지를 검사하고, 상기 가상 버퍼에 언더플로우가 발생했음을 검출한 경우에 리트라이 정보를 출력하는 버퍼 관리부;
    상기 리트라이 정보가 출력된 경우에 상기 부호화 파라미터를 부호화에 의한 발생 부호량이 감소하도록 변경하고, 변경된 부호화 파라미터를 상기 부호화부에 통지하는 파라미터 조정부;
    상기 부호화순 픽처군의 부호화가 완료되었을 때에 상기 가상 버퍼의 잔부호량을 조사하고, 상기 잔부호량이 소정의 잔부호량 문턱값 이상인지를 판정하는 버퍼 상태 예측부;
    상기 버퍼 상태 예측부의 판정 결과에 따라 상기 가상 버퍼의 상기 잔부호량이 상기 소정의 잔부호량 문턱값 이상이면, 상기 리트라이 포인트를 다음 부호화순 픽처군의 선두 픽처로 설정하고, 상기 가상 버퍼의 상기 잔부호량이 소정의 잔부호량 문턱값 미만이면, 상기 리트라이 포인트를 변경하지 않고 다음 부호화순 픽처군의 선두 픽처의 부호화가 상기 가상 버퍼의 언더플로우를 발생시키지 않고 완료된 후에 상기 리트라이 포인트를 해당 부호화순 픽처군의 선두 픽처로 설정하는 리트라이 포인트 관리부;를 구비하고,
    상기 부호화부는, 상기 리트라이 정보가 출력된 경우에 상기 리트라이 포인트로 설정된 부호화순 픽처군의 선두 픽처부터 상기 파라미터 조정부가 변경한 부호화 파라미터를 이용하여 상기 입력 영상 신호를 재부호화하는, 동화상 부호화 장치.
  15. 디코더에서의 가상 버퍼가 파탄하지 않도록 발생 부호량을 제어하여 입력 영상 신호를 부호화하는 동화상 부호화 장치로서,
    소정수의 픽처로 구성되고, 부호화순으로 연속하는 픽처의 집합인 부호화순 픽처군의 각 픽처에 대해 소정의 부호화 파라미터에 따라 순차적으로 부호화하는 부호화부;
    상기 각 픽처의 부호화에서 발생한 부호량 정보를 기초로 상기 가상 버퍼에 언더플로우가 발생했는지를 검사하고, 상기 가상 버퍼에 언더플로우가 발생했음을 검출한 경우에 리트라이 정보를 출력하는 버퍼 관리부;
    상기 리트라이 정보가 출력된 경우에 상기 부호화 파라미터를 부호화에 의한 발생 부호량이 감소하도록 변경하고, 변경된 부호화 파라미터를 상기 부호화부에 통지하는 파라미터 조정부;
    재부호화시에 재부호화 대상의 픽처로서 되돌아갈 수 있는 최대의 픽처수인 최대 픽처 간 거리를 기초로 상기 재부호화를 개시하는 픽처의 위치를 나타내는 리트라이 포인트를 설정하는 리트라이 포인트 관리부;를 구비하고,
    상기 부호화부는, 상기 리트라이 정보가 출력된 경우에 부호화 중의 부호화순 픽처군에서 상기 리트라이 포인트로 설정된 픽처부터 상기 파라미터 조정부가 변경한 부호화 파라미터를 이용하여 상기 입력 영상 신호를 재부호화하는, 동화상 부호화 장치.
  16. 제1항 내지 제10항 중 어느 한 항에 기재된 동화상 부호화 제어 방법을 컴퓨터에 실행시키기 위한 동화상 부호화 프로그램.
KR1020127028798A 2010-05-07 2011-04-28 동화상 부호화 제어 방법, 동화상 부호화 장치 및 동화상 부호화 프로그램 KR101389919B1 (ko)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
JPJP-P-2010-106852 2010-05-07
JP2010106851 2010-05-07
JP2010106854 2010-05-07
JP2010106852 2010-05-07
JPJP-P-2010-106855 2010-05-07
JPJP-P-2010-106851 2010-05-07
JPJP-P-2010-106854 2010-05-07
JPJP-P-2010-106853 2010-05-07
JP2010106853 2010-05-07
JP2010106855 2010-05-07
PCT/JP2011/060364 WO2011138923A1 (ja) 2010-05-07 2011-04-28 動画像符号化制御方法,動画像符号化装置および動画像符号化プログラム

Publications (2)

Publication Number Publication Date
KR20130028093A true KR20130028093A (ko) 2013-03-18
KR101389919B1 KR101389919B1 (ko) 2014-04-30

Family

ID=44903775

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127028798A KR101389919B1 (ko) 2010-05-07 2011-04-28 동화상 부호화 제어 방법, 동화상 부호화 장치 및 동화상 부호화 프로그램

Country Status (11)

Country Link
US (1) US9179165B2 (ko)
EP (1) EP2568705B1 (ko)
JP (1) JP5295429B2 (ko)
KR (1) KR101389919B1 (ko)
CN (1) CN102986212B (ko)
BR (1) BR112012028184A2 (ko)
CA (1) CA2798012A1 (ko)
ES (1) ES2703005T3 (ko)
RU (1) RU2530313C2 (ko)
TW (1) TWI483617B (ko)
WO (1) WO2011138923A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5322956B2 (ja) * 2008-01-29 2013-10-23 パナソニック株式会社 画像符号化装置および画像符号化方法
US20140037005A1 (en) * 2012-08-02 2014-02-06 Penne Y. LEE Transcoding video data
US9374585B2 (en) * 2012-12-19 2016-06-21 Qualcomm Incorporated Low-delay buffering model in video coding
CN104243984B (zh) * 2013-06-19 2017-09-19 晨星半导体股份有限公司 应用于数字音视频编解码技术标准系统的解码方法及解码装置
US9524249B2 (en) * 2014-12-23 2016-12-20 Intel Corporation Memory encryption engine integration
CN112738509B (zh) * 2021-03-30 2021-07-09 浙江华创视讯科技有限公司 视频编码方法、视频解码方法、存储介质以及电子设备
CN115103190A (zh) * 2022-06-14 2022-09-23 晶晨芯半导体(成都)有限公司 编码器码率控制方法及模块、芯片、电子设备和存储介质
CN117979062B (zh) * 2024-03-05 2024-07-12 北京瑞祺皓迪技术股份有限公司 一种基于编码流引用计数的实时视频流传输方法及装置

Family Cites Families (125)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5136371A (en) 1990-03-15 1992-08-04 Thomson Consumer Electronics, Inc. Digital image coding using random scanning
US5134476A (en) 1990-03-30 1992-07-28 At&T Bell Laboratories Video signal encoding with bit rate control
US5461420A (en) 1992-09-18 1995-10-24 Sony Corporation Apparatus for coding and decoding a digital video signal derived from a motion picture film source
US5786858A (en) * 1993-01-19 1998-07-28 Sony Corporation Method of encoding image signal, apparatus for encoding image signal, method of decoding image signal, apparatus for decoding image signal, and image signal recording medium
DE69424909T2 (de) 1993-04-09 2000-12-14 Sony Corp., Tokio/Tokyo Verfahren und vorrichtung zur bildkodierung
US5589884A (en) 1993-10-01 1996-12-31 Toko Kabushiki Kaisha Adaptive quantization controlled by scene change detection
JP3224465B2 (ja) 1993-12-22 2001-10-29 シャープ株式会社 画像符号化装置
KR950030491A (ko) 1994-04-30 1995-11-24 배순훈 부호화기
JP3911035B2 (ja) 1994-08-31 2007-05-09 ソニー株式会社 動画像符号化方法及び動画像符号化装置
US5606369A (en) * 1994-12-28 1997-02-25 U.S. Philips Corporation Buffering for digital video signal encoders using joint bit-rate control
WO1996020575A2 (en) 1994-12-28 1996-07-04 Philips Electronics N.V. Buffer management in variable bit-rate compression systems
KR100203637B1 (ko) 1995-09-29 1999-06-15 전주범 동영상을 부호화하는 장치
KR0181067B1 (ko) 1995-10-31 1999-05-01 배순훈 호환성을 갖는 동영상 부호화기
DE69738878D1 (de) 1996-04-12 2008-09-11 Sony Corp Bildkodierung mit Pufferunterlaufvermeidung
JP4345024B2 (ja) 1996-04-12 2009-10-14 ソニー株式会社 画像符号化装置、画像符号化方法及び画像符号化プログラムを記録した記録媒体
US5831678A (en) 1996-08-09 1998-11-03 U.S. Robotics Access Corp. Video encoder/decoder system
US6072830A (en) 1996-08-09 2000-06-06 U.S. Robotics Access Corp. Method for generating a compressed video signal
US5805228A (en) 1996-08-09 1998-09-08 U.S. Robotics Access Corp. Video encoder/decoder system
US5864681A (en) 1996-08-09 1999-01-26 U.S. Robotics Access Corp. Video encoder/decoder system
JPH10210475A (ja) 1997-01-22 1998-08-07 Matsushita Electric Ind Co Ltd 画像符号化装置
US5982436A (en) * 1997-03-28 1999-11-09 Philips Electronics North America Corp. Method for seamless splicing in a video encoder
JPH10304311A (ja) 1997-04-23 1998-11-13 Matsushita Electric Ind Co Ltd 映像符号化装置及び映像復号化装置
US6101195A (en) 1997-05-28 2000-08-08 Sarnoff Corporation Timing correction method and apparatus
JPH1118083A (ja) 1997-06-25 1999-01-22 Sony Corp ディジタル信号符号化方法及び装置、信号記録媒体並びに信号伝送方法
JPH11112601A (ja) 1997-10-07 1999-04-23 Oki Electric Ind Co Ltd 伝送品質の制御方法
US6301428B1 (en) 1997-12-09 2001-10-09 Lsi Logic Corporation Compressed video editor with transition buffer matcher
US6563549B1 (en) 1998-04-03 2003-05-13 Sarnoff Corporation Method and apparatus for adaptively encoding an information stream
US6167088A (en) 1998-04-03 2000-12-26 Sarnoff Corporation Method and apparatus for performing adaptive encoding rate control of a video information stream including 3:2 pull-down video information
US6859496B1 (en) * 1998-05-29 2005-02-22 International Business Machines Corporation Adaptively encoding multiple streams of video data in parallel for multiplexing onto a constant bit rate channel
US6310915B1 (en) * 1998-11-20 2001-10-30 Harmonic Inc. Video transcoder with bitstream look ahead for rate control and statistical multiplexing
JP2000209584A (ja) 1999-01-13 2000-07-28 Nec Eng Ltd こま落とし制御回路
US6493402B1 (en) * 1999-05-27 2002-12-10 Zenith Electronics Corporation Mode control for trellis decoder
US6529558B1 (en) * 1999-05-27 2003-03-04 Zenith Electronics Corporation Coding and decoding a signal modified in accordance with the feedback states of an encoder
KR100634660B1 (ko) 1999-09-13 2006-10-16 마츠시타 덴끼 산교 가부시키가이샤 부호화장치 및 부호화방법
GB2356998A (en) * 1999-12-02 2001-06-06 Sony Uk Ltd Video signal processing
US6829016B2 (en) 1999-12-20 2004-12-07 Texas Instruments Incorporated Digital still camera system and method
US20020135683A1 (en) 1999-12-20 2002-09-26 Hideo Tamama Digital still camera system and method
US6836289B2 (en) 1999-12-20 2004-12-28 Texas Instruments Incorporated Digital still camera architecture with red and blue interpolation using green as weighting factors
US6873658B2 (en) 1999-12-20 2005-03-29 Texas Instruments Incorporated Digital still camera system and method
US6754279B2 (en) 1999-12-20 2004-06-22 Texas Instruments Incorporated Digital still camera system and method
US7330209B2 (en) 1999-12-20 2008-02-12 Texas Instruments Incorporated Digital still camera system and complementary-color-filtered array interpolation method
US6933970B2 (en) 1999-12-20 2005-08-23 Texas Instruments Incorporated Digital still camera system and method
US6792047B1 (en) 2000-01-04 2004-09-14 Emc Corporation Real time processing and streaming of spliced encoded MPEG video and associated audio
US6678332B1 (en) 2000-01-04 2004-01-13 Emc Corporation Seamless splicing of encoded MPEG video and audio
US6300973B1 (en) * 2000-01-13 2001-10-09 Meir Feder Method and system for multimedia communication control
US6522693B1 (en) 2000-02-23 2003-02-18 International Business Machines Corporation System and method for reencoding segments of buffer constrained video streams
US6674797B1 (en) 2000-03-30 2004-01-06 Lucent Technologies Inc. Ensuring video buffer verifer integrity in MPEG-like encoding
US6553150B1 (en) 2000-04-25 2003-04-22 Hewlett-Packard Development Co., Lp Image sequence compression featuring independently coded regions
US6647061B1 (en) 2000-06-09 2003-11-11 General Instrument Corporation Video size conversion and transcoding from MPEG-2 to MPEG-4
JP3889552B2 (ja) 2000-06-09 2007-03-07 パイオニア株式会社 符号量割り当て装置および方法
JP2002010261A (ja) 2000-06-16 2002-01-11 Nec Corp 画像符号化方式変換装置
US20050193408A1 (en) * 2000-07-24 2005-09-01 Vivcom, Inc. Generating, transporting, processing, storing and presenting segmentation information for audio-visual programs
US20050210145A1 (en) * 2000-07-24 2005-09-22 Vivcom, Inc. Delivering and processing multimedia bookmark
JP4428680B2 (ja) 2000-11-06 2010-03-10 パナソニック株式会社 映像信号符号化方法および映像信号符号化装置
US6990144B2 (en) 2000-12-11 2006-01-24 Sony Corporation System and method for overrun catch-up in a real-time software
US20030222998A1 (en) 2000-12-20 2003-12-04 Satoru Yamauchi Digital still camera system and method
US7023924B1 (en) 2000-12-28 2006-04-04 Emc Corporation Method of pausing an MPEG coded video stream
EP1231794A1 (en) * 2001-02-09 2002-08-14 STMicroelectronics S.r.l. A process for changing the resolution of MPEG bitstreams, a system and a computer program product therefor
EP1231793A1 (en) * 2001-02-09 2002-08-14 STMicroelectronics S.r.l. A process for changing the syntax, resolution and bitrate of MPEG bitstreams, a system and a computer program product therefor
US8107524B2 (en) 2001-03-30 2012-01-31 Vixs Systems, Inc. Adaptive bandwidth footprint matching for multiple compressed video streams in a fixed bandwidth network
WO2002096120A1 (en) 2001-05-25 2002-11-28 Centre For Signal Processing, Nanyang Technological University Bit rate control for video compression
JP3866538B2 (ja) 2001-06-29 2007-01-10 株式会社東芝 動画像符号化方法及び装置
US6804301B2 (en) * 2001-08-15 2004-10-12 General Instrument Corporation First pass encoding of I and P-frame complexity for compressed digital video
JP4718736B2 (ja) 2001-09-17 2011-07-06 株式会社東芝 動画像符号化装置
US6950469B2 (en) 2001-09-17 2005-09-27 Nokia Corporation Method for sub-pixel value interpolation
JP3836701B2 (ja) 2001-10-10 2006-10-25 株式会社東芝 動画像を符号化する方法及び装置及びプログラム並びに動画像音声多重化の方法及び装置
US7356079B2 (en) 2001-11-21 2008-04-08 Vixs Systems Inc. Method and system for rate control during video transcoding
EP1391119B1 (en) 2001-11-30 2006-06-14 Matsushita Electric Industrial Co., Ltd. A method and an apparatus for data recording
AU2003280512A1 (en) * 2002-07-01 2004-01-19 E G Technology Inc. Efficient compression and transport of video over a network
US8837605B2 (en) * 2006-09-26 2014-09-16 Onmobile Global Limited Method and apparatus for compressed video bitstream conversion with reduced-algorithmic-delay
US20040252758A1 (en) 2002-08-14 2004-12-16 Ioannis Katsavounidis Systems and methods for adaptively filtering discrete cosine transform (DCT) coefficients in a video encoder
TWI249356B (en) 2002-11-06 2006-02-11 Nokia Corp Picture buffering for prediction references and display
US8054880B2 (en) 2004-12-10 2011-11-08 Tut Systems, Inc. Parallel rate control for digital video encoder with multi-processor architecture and picture-based look-ahead window
US7099389B1 (en) 2002-12-10 2006-08-29 Tut Systems, Inc. Rate control with picture-based lookahead window
US7333034B2 (en) * 2003-05-21 2008-02-19 Sony Corporation Data processing device, encoding device, encoding method, decoding device decoding method, and program
JP2005072742A (ja) 2003-08-21 2005-03-17 Sony Corp 符号化装置及び符号化方法
JP2005080004A (ja) 2003-09-01 2005-03-24 Sony Corp 動画像符号化装置
US7609762B2 (en) * 2003-09-07 2009-10-27 Microsoft Corporation Signaling for entry point frames with predicted first field
US7724827B2 (en) * 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US8345754B2 (en) 2003-09-07 2013-01-01 Microsoft Corporation Signaling buffer fullness
US7839930B2 (en) * 2003-11-13 2010-11-23 Microsoft Corporation Signaling valid entry points in a video stream
US7346106B1 (en) 2003-12-30 2008-03-18 Apple Inc. Robust multi-pass variable bit rate encoding
US7453938B2 (en) 2004-02-06 2008-11-18 Apple Inc. Target bitrate estimator, picture activity and buffer management in rate control for video coder
US20050201471A1 (en) * 2004-02-13 2005-09-15 Nokia Corporation Picture decoding method
KR20050090841A (ko) 2004-03-10 2005-09-14 엘지전자 주식회사 비트율 제어 방법
JP4418762B2 (ja) 2004-05-07 2010-02-24 キヤノン株式会社 画像符号化装置及び画像復号装置及びそれらの制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
JP3846488B2 (ja) 2004-05-10 2006-11-15 セイコーエプソン株式会社 画像データ圧縮装置、エンコーダ、電子機器及び画像データ圧縮方法
US8005139B2 (en) 2004-06-27 2011-08-23 Apple Inc. Encoding with visual masking
KR100997298B1 (ko) 2004-06-27 2010-11-29 애플 인크. 멀티-패스 비디오 인코딩 방법
KR101263522B1 (ko) 2004-09-02 2013-05-13 소니 주식회사 콘텐츠 수신 장치, 비디오 오디오 출력 타이밍 제어 방법및 콘텐츠 제공 시스템
US20090168866A1 (en) 2004-12-02 2009-07-02 Sony Corporation Encoding device, method, and program
US7543073B2 (en) 2004-12-10 2009-06-02 Microsoft Corporation System and process for performing an exponentially weighted moving average on streaming data to establish a moving average bit rate
JP2006180036A (ja) 2004-12-21 2006-07-06 Matsushita Electric Ind Co Ltd 動画符号化伝送制御装置および動画符号化伝送制御方法
US7983341B2 (en) 2005-02-24 2011-07-19 Ericsson Television Inc. Statistical content block matching scheme for pre-processing in encoding and transcoding
JP2006295535A (ja) 2005-04-11 2006-10-26 Toshiba Corp 動画像符号化装置および方法
US20060256868A1 (en) * 2005-05-16 2006-11-16 Ensequence, Inc. Methods and systems for repositioning mpeg image content without recoding
JP4040052B2 (ja) 2005-05-24 2008-01-30 株式会社日立国際電気 画像データ圧縮装置
JP5404038B2 (ja) 2005-07-01 2014-01-29 ソニック ソリューションズ リミテッド ライアビリティー カンパニー マルチメディア信号エンコーディングに使用される方法、装置およびシステム
US20070025441A1 (en) * 2005-07-28 2007-02-01 Nokia Corporation Method, module, device and system for rate control provision for video encoders capable of variable bit rate encoding
JP4492484B2 (ja) 2005-08-22 2010-06-30 ソニー株式会社 情報処理装置および情報処理方法、記録媒体、並びに、プログラム
US8218655B2 (en) 2005-09-19 2012-07-10 Maxim Integrated Products, Inc. Method, system and device for improving video quality through in-loop temporal pre-filtering
US8879635B2 (en) * 2005-09-27 2014-11-04 Qualcomm Incorporated Methods and device for data alignment with time domain boundary
US8548048B2 (en) 2005-10-27 2013-10-01 Qualcomm Incorporated Video source rate control for video telephony
US8406309B2 (en) 2005-10-21 2013-03-26 Qualcomm Incorporated Video rate adaptation to reverse link conditions
US9071844B2 (en) 2005-12-16 2015-06-30 Texas Instruments Incorporated Motion estimation with motion vector penalty
US7826536B2 (en) * 2005-12-29 2010-11-02 Nokia Corporation Tune in time reduction
JP4795223B2 (ja) * 2006-01-31 2011-10-19 キヤノン株式会社 画像処理装置
JP4254784B2 (ja) 2006-01-31 2009-04-15 Kddi株式会社 動画像符号化装置、方法及びプログラム
JP4584871B2 (ja) 2006-06-09 2010-11-24 パナソニック株式会社 画像符号化記録装置および画像符号化記録方法
US7804435B2 (en) 2006-08-31 2010-09-28 Ati Technologies Ulc Video decoder with reduced power consumption and method thereof
US9582060B2 (en) 2006-08-31 2017-02-28 Advanced Silicon Technologies Llc Battery-powered device with reduced power consumption based on an application profile data
JP4609411B2 (ja) * 2006-10-24 2011-01-12 日本ビクター株式会社 動画像符号化装置及び動画像符号化プログラム
US8711929B2 (en) * 2006-11-01 2014-04-29 Skyfire Labs, Inc. Network-based dynamic encoding
US20080120676A1 (en) 2006-11-22 2008-05-22 Horizon Semiconductors Ltd. Integrated circuit, an encoder/decoder architecture, and a method for processing a media stream
KR100846512B1 (ko) 2006-12-28 2008-07-17 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
EP3264772B1 (en) 2007-03-14 2022-09-07 Nippon Telegraph And Telephone Corporation Quantization control method and apparatus, program therefor, and storage medium which stores the program
JP2008252562A (ja) 2007-03-30 2008-10-16 Renesas Technology Corp 動画像符号化制御方法および動画像符号化装置
JP2008258858A (ja) * 2007-04-04 2008-10-23 Victor Co Of Japan Ltd 動画像符号化装置
US20090161766A1 (en) * 2007-12-21 2009-06-25 Novafora, Inc. System and Method for Processing Video Content Having Redundant Pixel Values
JP4577357B2 (ja) * 2007-12-27 2010-11-10 ソニー株式会社 符号化装置及び方法、並びにプログラム
JP4676508B2 (ja) * 2008-04-16 2011-04-27 日本電信電話株式会社 量子化マトリクス切り換え方法,映像符号化装置および映像符号化プログラム
WO2010032457A1 (ja) 2008-09-16 2010-03-25 パナソニック株式会社 撮像装置および動画データ作成方法
CN102318345B (zh) * 2009-02-27 2014-07-30 富士通株式会社 动态图像编码装置、动态图像编码方法
TWI387314B (zh) 2009-03-10 2013-02-21 Univ Nat Central Image processing apparatus and method thereof
US8879623B2 (en) 2009-09-02 2014-11-04 Sony Computer Entertainment Inc. Picture-level rate control for video encoding a scene-change I picture

Also Published As

Publication number Publication date
KR101389919B1 (ko) 2014-04-30
US20130051456A1 (en) 2013-02-28
ES2703005T3 (es) 2019-03-06
JPWO2011138923A1 (ja) 2013-07-22
JP5295429B2 (ja) 2013-09-18
BR112012028184A2 (pt) 2016-08-02
CN102986212B (zh) 2015-11-25
EP2568705A4 (en) 2014-04-09
EP2568705A1 (en) 2013-03-13
US9179165B2 (en) 2015-11-03
TW201210347A (en) 2012-03-01
RU2530313C2 (ru) 2014-10-10
RU2012146537A (ru) 2014-06-20
EP2568705B1 (en) 2018-09-26
TWI483617B (zh) 2015-05-01
CN102986212A (zh) 2013-03-20
WO2011138923A1 (ja) 2011-11-10
CA2798012A1 (en) 2011-11-10

Similar Documents

Publication Publication Date Title
KR101391661B1 (ko) 동화상 부호화 제어 방법, 동화상 부호화 장치 및 동화상 부호화 프로그램
KR101389919B1 (ko) 동화상 부호화 제어 방법, 동화상 부호화 장치 및 동화상 부호화 프로그램
EP2306735B1 (en) Picture-level rate control for video encoding
US9706203B2 (en) Low latency video encoder
US20110292998A1 (en) Image coding apparatus and image coding method
JP4358215B2 (ja) 動画像符号化装置及びその方法
US9955168B2 (en) Constraining number of bits generated relative to VBV buffer
JP2006295535A (ja) 動画像符号化装置および方法
JP4179917B2 (ja) 動画像符号化装置及び方法
JP6470191B2 (ja) 映像符号化方法、映像符号化装置及び映像符号化プログラム
JP5879555B2 (ja) 動画像符号化装置
JPWO2008053557A1 (ja) 動画像再符号化装置、動画像再符号化方法、動画像再符号化プログラムおよび動画像再符号化プログラムを格納した記録媒体
WO2020008858A1 (ja) 動画像符号化装置、動画像符号化方法、プログラム
CN102202220B (zh) 编码设备及其控制方法
JP5649540B2 (ja) 動画像符号化装置及びそのプログラム
JP2001157210A (ja) 符号化装置及び符号化方法
JP2010279079A (ja) 動画像符号化装置及び動画像符号化プログラム

Legal Events

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