KR101494562B1 - 동화상 부호화 장치, 동화상 부호화 방법 및 동화상 부호화용 컴퓨터 프로그램이 기록된 컴퓨터 판독가능한 기록 매체 - Google Patents
동화상 부호화 장치, 동화상 부호화 방법 및 동화상 부호화용 컴퓨터 프로그램이 기록된 컴퓨터 판독가능한 기록 매체 Download PDFInfo
- Publication number
- KR101494562B1 KR101494562B1 KR1020137018768A KR20137018768A KR101494562B1 KR 101494562 B1 KR101494562 B1 KR 101494562B1 KR 1020137018768 A KR1020137018768 A KR 1020137018768A KR 20137018768 A KR20137018768 A KR 20137018768A KR 101494562 B1 KR101494562 B1 KR 101494562B1
- Authority
- KR
- South Korea
- Prior art keywords
- group
- decoding
- moving picture
- data
- block
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/625—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
- H04N19/149—Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
- H04N19/152—Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/174—Methods 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 slice, e.g. a line of blocks or a group of blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Discrete Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
동화상 부호화 장치는, 픽쳐를 분할한 복수의 블록의 각각이 복수의 그룹 중 어느 것에 속할지를 결정하는 그룹 결정부와, 그룹마다 복호 시각을 산출하는 그룹 복호 시각 정보 산출부와, 그룹에 포함되는 모든 블록의 복호에 필요한 데이터가, 소정의 전송 레이트로 동화상 복호 장치에 전송된 경우에, 그 그룹의 복호 시각까지 동화상 복호 장치의 스트림 수신 버퍼에 도달하도록, 그 그룹에 포함되는 각 블록의 데이터의 엔트로피 부호화 후의 부호량을 제어하는 부호량 제어부와, 그 부호량에 기초하여 각 블록의 데이터를 압축하는 압축부와, 압축된 각 블록의 데이터를 엔트로피 부호화하는 엔트로피 부호화부와, 엔트로피 부호화에 수반하는 그룹마다의 지연의 최대값에 상당하는 그룹마다의 복호 시각의 보정 정보 및 각 블록이 속하는 그룹을 나타내는 그룹 정보를 출력 데이터에 부가하는 복호 정보 부가부를 갖는다.
Description
본 발명은, 예를 들어, 각 픽쳐를 복수의 블록으로 분할하여 블록마다 부호화하는 동화상 부호화 장치, 동화상 부호화 방법 및 동화상 부호화용 컴퓨터 프로그램에 관한 것이다.
동화상 데이터는, 일반적으로 매우 큰 데이터량을 갖는다. 그 때문에, 동화상 데이터를 취급하는 장치는, 동화상 데이터를 다른 장치에 송신하고자 하는 경우, 혹은, 동화상 데이터를 기억 장치에 기억하고자 하는 경우, 동화상 데이터를 부호화함으로써 압축한다. 대표적인 동화상의 부호화 표준으로서, International Standardization Organization/International Electrotechnical Commission(ISO/IEC)으로 책정된 Moving Picture Experts Group phase 2(MPEG-2), MPEG-4, 혹은 H.264 MPEG-4 Advanced Video Coding(MPEG-4 AVC/H.264)이 널리 이용되고 있다.
이와 같은 부호화 표준으로는, 부호화 대상의 픽쳐와, 그 전후 픽쳐의 정보를 사용하여, 부호화 대상의 픽쳐를 부호화하는 인터 부호화 방법 및 부호화 대상 픽쳐가 갖는 정보만을 사용해서 부호화하는 인트라 부호화 방법이 채용되어 있다.
일반적으로, 인터 부호화 방법으로 부호화된 픽쳐 혹은 블록의 부호량은, 인트라 부호화 방법으로 부호화된 픽쳐 혹은 블록의 부호량에 비해 작다. 이와 같이, 선택된 부호화 모드에 의해, 시퀀스 내에서 픽쳐의 부호량의 치우침이 생긴다. 마찬가지로, 선택된 부호화 모드에 의해, 픽쳐 내에서 블록의 부호량의 치우침이 생긴다.
따라서, 부호량이 시간적으로 변동되어도, 일정한 전송 레이트로 부호화된 동화상을 포함하는 데이터 스트림을 전송할 수 있도록, 전송원의 장치에 데이터 스트림용의 송신 버퍼가 준비되고, 또한 전송처의 장치에 데이터 스트림용의 수신 버퍼가 준비된다. 이들의 버퍼에 의한 지연(이후, 버퍼 지연이라고 부름)이, 부호화 장치에서의 각 픽쳐의 입력으로부터, 복호 장치에서 복호한 각 픽쳐의 표시까지의 지연(이후, 표시 지연이라고 부름)의 주요인이 된다. 버퍼의 사이즈를 작게 함으로써 버퍼 지연 및 표시 지연은 감소한다. 그러나, 버퍼의 사이즈가 작아질수록, 픽쳐마다의 부호량 배분의 자유도(부호량의 변동 정도)도 감소하고, 그 결과적으로 재생되는 동화상의 화질이 열화된다.
MPEG-2 또는 MPEG-4 AVC/H.264에서는, 각각 Video Buffering Verifier(VBV)와 Coded Picture Buffer(CPB)라고 불리는, 이상 복호 장치에서의 수신 버퍼의 동작을 규정하고 있다. 동화상 부호화 장치는, 이상 복호 장치의 수신 버퍼를, 오버 플로우 및 언더 플로우시키지 않도록, 부호량을 제어하지 않으면 안된다. 이상 복호 장치는, 복호 처리에 필요로 하는 시간이 0인 순시 복호를 행한다고 규정되어 있다. 예를 들어, 특허문헌 1에 VBV에 관한 동화상 부호화 장치의 제어 방법이 개시되어 있다.
MPEG-2 Test Model 5. April 1993. ISO-IEC/JTC1/SC29/WG11/N0400(http://www.mpeg.org/MPEG/MSSG/tm5/)
JCTVC-A116, "Description of video coding technology proposal by Fraunhofer HHI", Joint Collaborative Team on Video Coding of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, April 2010
동화상 부호화 장치는 이상 복호 장치의 수신 버퍼가 오버 플로우 및 언더 플로우하지 않도록, 이상 복호 장치가 있는 픽쳐를 복호하는 시각에 그 픽쳐의 데이터가 수신 버퍼에 저장되어 있는 것을 보증하도록 부호량을 제어한다.
수신 버퍼의 언더 플로우는 동화상 부호화 장치가 일정한 전송 레이트로 데이터 스트림을 송신한 경우에, 각 픽쳐의 부호량이 많고, 동화상 복호 장치가 복호ㆍ표시해야 할 시각까지 픽쳐를 복호하는 데 필요한 데이터의 전송이 완료되지 않을 경우에 생긴다. 즉, 수신 버퍼의 언더 플로우는, 복호 장치의 수신 버퍼 내에 픽쳐를 복호하기 위해 필요 데이터가 존재하지 않는 경우이다. 이 경우, 동화상 복호 장치는 복호 처리를 행할 수 없으므로, 프레임 스킵이 발생하게 된다.
동화상 복호 장치는 수신 버퍼의 언더 플로우를 일으키지 않고 복호 처리할 수 있도록, 스트림을 수신 시각으로부터 소정의 시간만큼 지연시키고 나서 픽쳐를 표시한다.
상술한 바와 같이, 이상 복호 장치에서는, 처리 시간 0에서, 순간적으로 복호 처리가 완료된다고 규정된다. 그 때문에, 동화상 부호화 장치에의 i번째 픽쳐의 입력 시각을 t(i), 이상 복호 장치에서의, i번째 픽쳐의 복호 시각을 dt(i)로 하면, 그 픽쳐가 표시 가능해지는 시각은, 마찬가지로 dt(i)가 된다. 모든 픽쳐에 있어서 픽쳐의 표시 기간 {t(i+1)-t(i)}와 {dt(i+1)-dt(i)}가 동등하게 되므로, 복호 시각 dt(i)는 입력 시각 t(i)로부터 고정 시간 dly분만큼 지연시킨 시각 {dt(i)=t(i)+dly}가 된다. 따라서, 동화상 부호화 장치는, 시각 dt(i)까지 복호에 필요한 데이터를 동화상 복호 장치의 수신 버퍼에 전송 완료시키지 않으면 안된다.
도 1을 참조하면서, 종래의 수신 버퍼의 모습을 설명한다. 도 1에 있어서 횡축은 시각을 나타내고, 종축은 수신 버퍼의 버퍼 점유량을 나타낸다. 그리고 실선의 그래프(100)는, 각 시각에서의 버퍼 점유량을 나타낸다.
수신 버퍼에서는, 소정의 전송 레이트로 버퍼 점유량이 회복되고, 각 픽쳐의 복호 시각에 그 픽쳐를 복호하기 위해 사용되는 만큼의 데이터가 버퍼로부터 인발된다. i번째 픽쳐의 데이터가, 시각 at(i)로부터 수신 버퍼에 입력 개시되고, i번째 픽쳐의 최후의 데이터가 시각 ft(i)에 입력된다. 이상 복호 장치는 시각 dt(i)에서 i번째 픽쳐의 복호를 완료하고, 그 시각 dt(i)에 있어서 i번째 픽쳐가 표시 가능하게 된다.
이상 복호 장치가 순간 복호인 한편, 실제의 동화상 복호 장치는 소정의 복호 처리 시간을 필요로 하고, 일반적으로는 1픽쳐의 복호 처리 시간은, 픽쳐의 표시 기간보다도 짧지만, 픽쳐의 표시 기간에 가까운 시간이 필요해진다. 시각 at(i)로부터 ft(i)까지 i번째 픽쳐의 데이터가 수신 버퍼에 입력되지만, 각 블록의 복호에 필요한 데이터가 at(i)로부터 ft(i) 내의 어느 시각에 도착할지 보증되지 않는다. 그 때문에, 실제의 동화상 복호 장치는, 시각 ft(i)로부터 i번째 픽쳐의 복호 처리를 개시하게 된다. 따라서, 1픽쳐의 복호 처리에 필요한 최악의 처리 시간을 ct로 하면, 실제의 동화상 복호 장치는 시각 ft(i)+ct 밖에 복호 처리를 완료하는 것을 보증할 수 없다.
동화상 부호화 장치가 보증하고 있는 것은, 시각 dt(i)까지, 그 픽쳐의 복호에 필요한 데이터가 복호 수신 버퍼에 도착하고 있는 것, 즉, ft(i)가 dt(i) 이전이 되는 경우이다. 그 때문에, ft(i)가 가장 지연되는 경우, ft(i)는 dt(i)와 동등하게 된다. 이때, 복호 처리가 완료되는 것이 보증되는 시각은, dt(i)+ct가 된다. 표시하는 픽쳐의 간격이 일정하게 되도록, 모든 픽쳐를 표시하기 위해서는, 동화상 복호 장치는, 각 픽쳐의 표시 시각을 이상 복호 장치보다도 적어도 ct만큼 지연시키지 않으면 안된다.
이와 같이, MPEG-2 또는 MPEG-4 AVC/H.264에서의 이상 복호 장치의 스트림 수신 버퍼의 동작 규정에서는, 어떤 픽쳐의 전체 비트가 스트림 수신 버퍼에 도착하는 시각이, 그 픽쳐의 복호 시각보다도 빠른 것이 요구되어 있다.
여기서, MPEG-2에서는, 픽쳐 내의 각 블록의 데이터량을 압축하기 위해, 엔트로피 부호화 방식이 채용되어 있다. MPEG-2의 엔트로피 부호화 방식으로는, 부호화 대상인, 픽쳐 내의 어떤 블록의 압축 데이터(움직임 벡터 등의 헤더 정보 및 양자화한 직교 변환 계수)를 나타내는 비트 스트림 중의 비트 열이, 예를 들어 변환 테이블에 따라서 다른 비트 열로 변환된다. 이와 같은 변환 처리는 매우 고속으로 실행하는 것이 가능하므로, 압축 데이터의 엔트로피 부호화가 개시되고 나서 부호화된 비트 열이 스트림으로서 생성될 때까지의 지연 시간은 실질적으로 제로이다. 즉, 어떤 블록까지의 부호화 처리를 종료한 시각이, 송신 버퍼에의 입력 시각과 거의 동일해진다. 그 때문에, 부호화 장치는, 용이하게 수신 버퍼의 동작 규정을 지키도록 픽쳐의 압축 데이터의 부호량을 제어할 수 있다.
한편, MPEG-4 AVC/H.264에서는, 엔트로피 부호화 방식으로서, MPEG-2에서 채용되어 있는 방식 외에, 산술 부호화 방식도 채용되어 있다. 산술 부호화 방식으로는, 부호화 대상인, 픽쳐 내의 어떤 블록의 압축 데이터는 1심볼씩 처리되어, 스트림으로서 생성된다. 그 때, 어떤 주목 블록의 최후의 압축 데이터의 심볼의 엔트로피 부호화가 개시되고 나서 부호화된 비트 열이 스트림으로서 생성될 때까지의 지연(이후, 엔트로피 부호화 지연이라고 부름)은 일반적으로는 제로는 아니다. 주목 블록의 최후의 심볼에 대응하는 부호화된 비트 열은, 다음의 블록의 압축 데이터의 몇 개의 심볼의 엔트로피 부호화가 개시되지 않으면 스트림으로서 생성되지 않는 경우가 있다. 즉, 어떤 픽쳐의 부호화 처리의 개시로부터 종료까지 송신 버퍼에 송신한 비트량(외관상 픽쳐의 발생 정보량)과, 실제 픽쳐의 발생 정보량 사이에, 엔트로피 부호화 지연에 따른 차가 생긴다. 이로 인해, 외관상 픽쳐의 발생 정보량에 따라, 픽쳐의 복호 시각을 준수하도록 부호화 장치가 정보량을 제어해도, 실제 픽쳐의 전체 비트가 수신 버퍼에 도착하는 시각이 엔트로피 부호화 지연에 비례하여 지연된다. 그 때문에, 엔트로피 부호화 지연의 크기에 따라서는, 상기의 수신 버퍼의 동작 규정에 의한 제약이 만족되지 않을 우려가 있었다.
또한, 엔트로피 부호화 방식의 하나로서, 심볼 확률 분포를 양자화함으로써, 산술 부호화를 병렬로 행하는 방식도 제안되어 있다(예를 들어, 비특허문헌 2를 참조). 부호화 장치가 이와 같은 엔트로피 부호화 방식에 따라서 각 블록의 압축 데이터를 부호화하는 경우, 엔트로피 부호화 지연의 최악값이 매우 커질(예를 들어 4096 비트) 우려가 있었다. 그리고 엔트로피 부호화 지연의 최악값이 커지면, 그 결과로서, 이상 복호 장치에서의 수신 버퍼의 동작 규정이 만족되지 않게 될 우려가 있었다.
따라서 본 명세서는, 엔트로피 부호화에 의한 지연에 의해 수신 버퍼의 언더 플로우가 생기는 것을 방지하면서, 복호 처리의 지연을 저감하는 동화상 부호화 장치를 제공하는 것을 목적으로 한다.
하나의 실시 형태에 따르면, 동화상 데이터에 포함되는 각 픽쳐를 복수의 블록으로 분할하여 부호화하는 동화상 부호화 장치가 제공된다. 이 동화상 부호화 장치는, 복수의 블록의 각각이, 픽쳐를 분할한 복수의 그룹 중 어느 것에 속할지를 결정하는 그룹 결정부와, 그룹마다 복호 시각을 산출하는 그룹 복호 시각 정보 산출부와, 그룹에 포함되는 모든 블록의 복호에 필요한 데이터가, 소정의 전송 레이트로 동화상 복호 장치에 전송된 경우에, 그 그룹의 복호 시각까지 동화상 복호 장치의 스트림 수신 버퍼에 도달하도록, 그 그룹에 포함되는 각 블록의 데이터의 엔트로피 부호화 후의 부호량을 제어하는 부호량 제어부와, 그 부호량에 기초하여 각 블록의 데이터를 압축하는 압축부와, 압축된 각 블록의 데이터를 엔트로피 부호화하는 엔트로피 부호화부와, 압축된 각 블록의 데이터의 엔트로피 부호화에 수반하는 그룹마다의 지연의 최대값에 상당하는 그룹마다의 복호 시각의 보정 정보 및 각 블록이 속하는 그룹을 나타내는 그룹 정보를 출력 데이터에 부가하는 복호 정보 부가부를 갖는다.
본 발명의 목적 및 이점은, 청구항에 있어서 특별히 지적된 엘리먼트 및 조합에 의해 실현되고, 또한 달성된다.
상기의 일반적인 기술 및 하기의 상세한 기술의 어느 것도, 예시적 또한 설명적인 것이고, 청구항과 같이, 본 발명을 한정하는 것은 아닌 것을 이해받고자 한다.
본 명세서에 개시된 동화상 부호화 장치는, 엔트로피 부호화에 의한 지연에 의해 수신 버퍼의 언더 플로우가 생기는 것을 방지하면서, 복호 처리의 지연을 저감할 수 있다.
도 1은 종래 기술에 의한 수신 버퍼의 버퍼 점유량의 천이를 나타내는 도면이다.
도 2는 하나의 실시 형태에 따른, 동화상 부호화 장치의 개략 구성도이다.
도 3은 엔트로피 부호화부의 개략 구성도이다.
도 4의 (A)는 제3 실시 형태에 따른 하나의 블록의 압축 데이터의 구조를 도시하는 도면이다.
도 4의 (B)는 압축 데이터와, 엔트로피 부호화에 의해 변환된 비트 열과의 관계를 설명하는 도면이다.
도 5는 엔트로피 부호화부의 빈 부호화부 및 다중화부의 거동의 설명도이다.
도 6은 하나의 실시 형태에 따른 동화상 부호화 장치에 의해 전송되는 부호화 동화상 데이터 스트림이 축적되는 수신 버퍼의 버퍼 점유량의 천이를 나타내는 도면이다.
도 7은 최초 그룹의 복호 시각을 지연시킨 경우에서의, 수신 버퍼의 버퍼 점유량의 천이를 나타내는 도면이다.
도 8은 버퍼 점유량 대신에, 동화상 부호화 장치에서의 발생 정보량 및 동화상 복호 장치에서의 복호 정보량의 시간 경과를 나타낸 그래프이다.
도 9는 하나의 실시 형태에 따른 동화상 부호화 처리의 동작 플로우차트를 도시하는 도면이다.
도 2는 하나의 실시 형태에 따른, 동화상 부호화 장치의 개략 구성도이다.
도 3은 엔트로피 부호화부의 개략 구성도이다.
도 4의 (A)는 제3 실시 형태에 따른 하나의 블록의 압축 데이터의 구조를 도시하는 도면이다.
도 4의 (B)는 압축 데이터와, 엔트로피 부호화에 의해 변환된 비트 열과의 관계를 설명하는 도면이다.
도 5는 엔트로피 부호화부의 빈 부호화부 및 다중화부의 거동의 설명도이다.
도 6은 하나의 실시 형태에 따른 동화상 부호화 장치에 의해 전송되는 부호화 동화상 데이터 스트림이 축적되는 수신 버퍼의 버퍼 점유량의 천이를 나타내는 도면이다.
도 7은 최초 그룹의 복호 시각을 지연시킨 경우에서의, 수신 버퍼의 버퍼 점유량의 천이를 나타내는 도면이다.
도 8은 버퍼 점유량 대신에, 동화상 부호화 장치에서의 발생 정보량 및 동화상 복호 장치에서의 복호 정보량의 시간 경과를 나타낸 그래프이다.
도 9는 하나의 실시 형태에 따른 동화상 부호화 처리의 동작 플로우차트를 도시하는 도면이다.
이하, 도면을 참조하면서, 하나의 실시 형태에 따른 동화상 부호화 장치에 대해서 설명한다. 이 동화상 부호화 장치는, 픽쳐 내에 포함되는 각 블록을 그룹 단위로 분류하고, 그룹마다 추정되는 복호 시각에 따라서, 그룹에 포함되는 블록의 부호량을 조정함으로써, 복호 지연을 저감한다. 또한 이 동화상 부호화 장치는, 각 블록의 압축 데이터를 엔트로피 부호화할 때의 최대 지연 시간에 기초하여 그룹마다의 추정 복호 시각을 보정하고, 그 보정된 추정 복호 시각을 동화상 복호 장치에 통지한다. 이에 의해, 이 동화상 부호화 장치는, 엔트로피 부호화에 의한 지연에 의해 동화상 복호 장치의 수신 버퍼의 언더 플로우가 생기는 것을 방지한다.
도 2는, 하나의 실시 형태에 따른, 동화상 부호화 장치의 개략 구성도이다. 동화상 부호화 장치(10)는, 부호화 처리부(11)와, 부호량 제어부(12)와, 그룹 결정부(13)와, 그룹 복호 시각 정보 산출부(14)와, 그룹 정보 부가부(15)와, 엔트로피 부호화 지연 정보 부가부(16)와, 비트 카운터(25)를 갖는다. 동화상 부호화 장치(10)가 갖는 이들의 각 부는, 각각, 별개의 회로로서 동화상 부호화 장치(10)에 실장된다. 혹은, 동화상 부호화 장치(10)가 갖는 이들의 각 부는, 그 각 부의 기능을 실현하는 회로가 집적된 하나의 집적 회로로서 동화상 부호화 장치(10)에 실장되어도 좋다. 혹은 또한, 동화상 부호화 장치(10)가 갖는 이들의 각 부는, 동화상 부호화 장치(10)가 갖는 프로세서상에서 실행되는 컴퓨터 프로그램에 의해 실현되는 기능 모듈이어도 좋다.
동화상 데이터에 포함되는 부호화 대상 픽쳐는, 도시하지 않은 제어부에 의해 블록 단위로 분할되어, 블록마다 부호화 처리부(11)에 입력된다. 각 블록은, 예를 들어, 16×16 화소를 갖는다.
부호화 처리부(11)는, 직교 변환부(21)와, 양자화부(22)와, 엔트로피 부호화부(23)를 갖는다. 이 중, 직교 변환부(21) 및 양자화부(22)는, 각 블록의 엔트로피 부호화 후의 부호량에 기초하여 각 블록의 데이터를 압축하는 압축부의 일례이다.
각 블록은 직교 변환부(21)에 입력된다. 그리고 직교 변환부(21)는, 각 블록에 대하여, 각각, 예를 들어 이산 코사인 변환(Discrete Cosine Transform, DCT) 등의 직교 변환 처리를 행하여 주파수 계수의 조를 산출한다. 산출된 주파수 계수의 조는 양자화부(22)에 입력된다. 또한, 각 블록에 대하여, 이미 부호화된 픽쳐를 움직임 보상하는 것 등에 의해 예측 화상이 생성되는 경우에는, 각 블록과 예측 화상간의 차분 연산에 의해 구해지는 예측 오차 화상이 직교 변환부(21)에 입력되어도 좋다.
또한, 픽쳐는 프레임 또는 필드 중 어느 것이어도 좋다. 프레임은, 동화상 데이터 중 하나의 정지 화상이고, 한편, 필드는 프레임으로부터 홀수행의 데이터 혹은 짝수행의 데이터만을 취출함으로써 얻을 수 있는 정지 화상이다.
또한, 부호화된 동화상은, 컬러 동화상이어도 좋고, 혹은, 모노크롬 동화상이어도 좋다.
양자화부(22)는, 예를 들어, 부호량 제어부(12)의 양자화값 산출부(24)에 의해 산출된 양자화값에 따라서 결정되는 양자화 스케일로 각 주파수 계수를 제산함으로써, 각 주파수 계수를 양자화한다. 이 양자화에 의해, 각 주파수 계수의 정보가 삭감된다. 양자화값이 커질수록, 양자화의 정밀도가 나빠져, 각 주파수 계수의 정보가 크게 삭감된다.
양자화부(22)에 의해 양자화된 각 주파수 계수는, 엔트로피 부호화부(23)에 입력된다. 또한 양자화된 각 주파수 계수는, 이후에 부호화되는 픽쳐 또는 블록에 대한 예측 화상을 작성하기 위해 역양자화되고, 또한 역직교 변환되어 도시하지 않은 화상 메모리에 기억되어도 좋다.
엔트로피 부호화부(23)는, 블록의 압축 데이터(양자화된 각 주파수 계수 및 부호화 모드 등의 블록 헤더 정보를 포함함)를 엔트로피 부호화한다. 그리고 엔트로피 부호화부(23)는, 그 엔트로피 부호로 표시되는 비트 계열을 출력 데이터 스트림에 포함시킨다.
또한, 엔트로피 부호화부(23)에서 발생한 비트 계열의 비트량은 블록마다 비트 카운터(25)로 가산되고, 발생 부호량으로서 부호량 제어부(12)의 버퍼 점유량 산출부(26)에 통지된다. 즉, 비트 카운터(25)로 계수되는 대상 블록의 발생 부호량은, 엔트로피 부호화부(23)가 출력된, 직전 블록의 부호화 완료 시점에서의 비트 계열의 최종 비트 위치와 대상 블록의 부호화 완료 시점에서의 비트 계열의 최종 비트 위치와의 차분이 된다. 실제 블록의 발생 정보량은, 비트 카운터(25)로 계수되는 블록의 발생 정보량과 비교하여, 최대로 엔트로피 부호화 지연에 상당하는 부호량만큼 크다.
본 실시 형태에 따른 엔트로피 부호화부(23)는, 비특허문헌 2에 개시된 방법에 따라서 블록의 압축 데이터를 엔트로피 부호화한다.
비특허문헌 2에 개시된 방법은, 기본적으로 MPEG-4 AVC/H.264에 규정되는 Content-based Adaptive Binary Arithmetic Coding(CABAC)과 마찬가지로 산술 부호화 기술을 사용한다. 그러나, 이 방법으로는, 바이너리화된 압축 데이터를 1비트씩 산술 부호화하는 대신에, 바이너리화된 압축 데이터의 각 비트의 추정 확률에 기초하는 복수개의 빈 부호화부가 사용된다. 각 빈 부호화부에는, 각각 별개의 추정 확률이 할당되고, 바이너리화된 압축 데이터의 각 비트는, 그 추정 확률에 대응하는 빈 부호화부에 있어서 산술 부호화된다.
이 방법으로는, 각 빈 부호화부는, 고정된 추정 확률의 비트 열을 처리하기 위해, 실제로는, 산술 부호화 연산을 행하는 대신에, 입력되는 n비트를 m비트의 출력에 매핑함으로써, 압축 데이터를 가변 길이 부호화해도 좋다. 또한, m, n은, 각각 1 이상의 정수이다. 본 명세서에서는, 편의상, 출력되는 m비트를 워드라고 부른다. 가변 길이 부호화된 압축 데이터는, 출력 데이터의 비트 스트림에 워드 단위로 출력된다.
비특허문헌 2에 개시된 방법으로는, CABAC와 마찬가지로, 변환된 비트 열과 변환 전의 압축 데이터와의 관계가 일대일은 아니다. 또한, 앞서 빈 부호화부에 입력된 빈에 상당하는 워드가, 그 빈보다도 이후에 빈 부호화부에 입력된 빈에 상당하는 워드보다도 이후에 출력 데이터의 비트 스트림에 출현하는 경우도 있다.
도 3은, 엔트로피 부호화부(23)의 개략 구성도이다. 엔트로피 부호화부(23)는 바이너리화부(301)와, 콘텍스트 모델화부(302)와, 확률 양자화부(303)와, K개의 빈 부호화부(304-1 내지 304-k)(단 K는 2 이상의 정수)와, 다중화부(305)를 갖는다.
바이너리화부(301)는, 입력된 블록의 압축 데이터에 포함되는 각 심볼을 바이너리화하고, 각 심볼을 비트 열로 나타낸다. 그 때문에, 바이너리화부(301)는, 예를 들어, MPEG-4 AVC/H.264에 준거하여, 각 심볼을 바이너리화한다. 예를 들어, I-Slice 내의 매크로 블록 종별 mbType이 4×4 인트라 예측, 혹은 8×8 인트라 예측을 나타내는 심볼 "IN×N"인 경우, 그 심볼은 '0'으로 표시된다. 또한, 블록 종별 mbType이 PCM 부호화를 나타내는 심볼 "IPCM"인 경우에는, 그 심볼은 '11'로 표시된다. 바이너리화부(301)로부터 출력된 비트 열은, 콘텍스트 모델화부(302)에 입력된다.
콘텍스트 모델화부(302)는 바이너리화부(301)로부터 입력된 비트 열의 각 비트에 대해, 개별적으로 콘텍스트를 할당한다. 콘텍스트는, 예를 들어, 주위 블록의 압축 데이터로부터 결정된다. 그리고, 엔트로피 부호화하고자 하는 블록의 압축 데이터가 주위 블록의 압축 데이터와 유사하고 있는 경우와 그렇지 않은 경우에서, 다른 콘텍스트가 사용됨으로써, 산술 부호화의 효율이 향상된다. 콘텍스트 모델화부(302)는, 비트 열의 비트마다, 그 값(0 또는 1)과, 결정된 콘텍스트의 Least Probable bit(LPB) 및 LPB 확률을 출력하고, 출력된 비트, LPB 및 LPB 확률은 확률 양자화부(303)에 입력된다. LPB는, 과거에 그 콘텍스트와 페어로 되어 콘텍스트 모델화부(302)로부터 출력된 비트 열의 각 비트에서의, 출현 빈도가 작은 쪽의 값을 나타낸다. 또한 LPB 확률은, LPB의 발생 확률을 나타낸다. 예를 들어, 과거의 비트 열에 포함되는 10개의 비트가 [0, 0, 0, 1, 1, 1, 1, 1, 1, 1]인 경우, LPB는 0이고, LPB 확률은 0.3이 된다.
확률 양자화부(303)는, 콘텍스트 모델화부(302)로부터 출력된 각 비트의 LPB 확률을 각각 양자화한다. 예를 들어, 확률 양자화부(303)는 0으로부터 1이 연속되는 확률값을, K개의 이산적인 값으로 양자화한다. 예를 들어 LPB 확률이 0.3이고, K가 4인 경우, 확률 양자화부(303)는 LPB 확률의 값 0.3의 양자화값을 0.25(=1/4)로 한다. 확률 양자화부(303)로부터 출력된 비트는, K개의 빈 부호화부(304-1 내지 304-k) 중, 그 비트의 LPB 확률의 양자화값에 따른 빈 부호화부에 입력된다.
빈 부호화부(304-1 내지 304-k)는, 각각, 서로 다른 LPB 확률의 양자화값에 대응하는 비트를 산술 부호화한다. 예를 들어, 상기한 바와 같이, LPB 확률의 양자화값이 1/4이면, 그 LPB 확률에 대응하는 비트는, 빈 부호화부(304-1 내지 304-k) 중의 이산 적확율 1/4에 대응하는 빈 부호화부에 입력된다. 그리고 각 빈 부호화부는, 다중화부(305)의 버퍼 내에 저장되어 있는 엔트리의 비트 열 중, 빈 부호화부에 대응하는 양자화 LPB 확률의 엔트리의 비트 열에 그 비트를 추가한다. 그리고 각 빈 부호화부는, 비트 열이 변환 가능해질 때마다, 그 비트 열을 워드로 변환한다.
다중화부(305)는, 예를 들어, 버퍼를 갖고, 각 빈 부호화부로부터 기입된 비트 열 및 비트 열에 대응하는 워드를 그 버퍼에 저장한다. 다중화부(305)는 워드가 출력 가능해질 때까지, 그 워드를 버퍼 내에 저장한다. 그리고 다중화부(305)는, 저장되어 있는 워드가 출력 가능해진 시점에서, 그 워드를 출력 데이터의 비트 스트림으로서 출력한다.
또한, 각 빈 부호화부에 입력되는 비트(빈)는 동일한 LPB를 갖는다고 가정할 수 있으므로, 각 빈 부호화부 및 다중화부는, 산술 부호화 그 자체를 행하는 대신에, 복수의 입력 비트를 포함하는 비트 열을 하나의 빈 열로서 가변 길이 부호화해도 좋다. 이 경우, 예를 들어, 비트 열(빈 열)과 워드와의 관계를 나타내는 변환 테이블이 각 빈 부호화부에 기억된다. 그리고 각 빈 부호화부는, 그 변환 테이블을 참조하여 빈 열을 워드로 변환한다. 예를 들어, LPB가 1이고 LPB 확률이 0.15(즉 0의 발생 확률이 0.85)인 경우, 입력 빈 열 "0000"은 "1"로, 입력 빈 열 "11"은 "00001"로 변환된다.
이하에, 엔트로피 부호화부(23)의 하나의 실시 형태 및 그 실시 형태에서의, 그룹의 최종 비트의 정의를 설명한다. 그룹의 최종 비트는, 그룹 내의 최종 블록의 최종 비트라고 정의된다.
도 4의 (A) 및 도 4의 (B)를 참조하면서, 출력 데이터의 비트 스트림에서의, 각 블록의 최종 비트에 대해서 설명한다.
도 4의 (A)는, 하나의 블록의 압축 데이터의 구조를 도시하는 도면이다. 도 4의 (A)에 도시되는 바와 같이, 하나의 블록의 압축 데이터(4000)는, 선두로부터 순서대로, 스킵 플래그(4010)와, 매크로 블록 레이어(4011)와, 슬라이스 앤드 플래그(4012)를 포함할 수 있다. 또한, 스킵 플래그, 매크로 블록 레이어 및 슬라이스 앤드 플래그는, 각각, 이하에서는 MbSkipFlag, MacroblockLayer 및 EndOfSliceFlag로 표기한다.
MbSkipFlag(4010)는, 현재의 블록이 스킵되었는지 여부를 나타낸다. 예를 들어, 현재의 블록이 스킵되어 있는 경우에는, MbSkipFlag(4010)는 '1'이 되고, 한편, 현재의 블록이 스킵되어 있지 않으면, MbSkipFlag(4010)는 '0'이 된다. 또한 MacroblockLayer(4011)는 블록 부호화 종별, 움직임 벡터 정보 및 양자화 DCT 계수 등의 블록 압축 데이터이다. 블록의 스킵이란, 그 스킵된 블록의 MacroblockLayer(4011)가 출력 데이터 스트림에 포함되지 않는 것을 의미한다.
픽쳐가 인트라 부호화 픽쳐인 경우, 블록의 스킵은 허용되지 않으므로, MbSkipFlag(4010)는 항상 '0'이 된다. 그 때문에, 출력 데이터 스트림에 MbSkipFlag(4010)는 포함되지 않는다.
EndOfSliceFlag(4012)는, 현재의 블록이 슬라이스의 최종 블록인지 여부를 나타낸다. 예를 들어, 현재의 블록이 최종 블록인 경우에는, EndOfSliceFlag(4012)는 '1'이 되고, 한편, 현재의 블록이 최종 블록이 아니면, EndOfSliceFlag(4012)는 '0'이 된다.
도 4의 (B)는, 압축 데이터와, 가변 길이 부호화에 의해 변환된 비트 열과의 관계를 설명하는 도면이다.
도 4의 (B)에 도시되는 바와 같이, 출력 데이터 스트림의 비트 열의 일례인 비트 열(4100)은 15개의 비트를 포함한다. 이 경우에서, 도트의 집합(4101)은, 비트 열(4100)에 포함되는 각 비트에 대응하는, 비트 열(4100)을 산술 복호함으로써 얻어지는 압축 데이터에 포함되는 빈을 나타낸다. 이 예에서는, 비트 열(4100)은 빈 0 내지 빈 10에 대응한다. 그리고, 빈 0 내지 빈 2는 블록 0에 포함되고, 빈 3 내지 빈 5는 블록 1에 포함되고, 빈 6, 7은 블록 2에 포함되고, 빈 8 내지 빈 10은 블록 3에 포함된다. 도트의 집합(4101)에 포함되는 각 도트는, 각각, 그 도트의 상방에 나타내어진 변환 후의 비트 열(4100)에 포함되는 비트가, 그 도트의 좌측에 나타내어진 빈을 복호하기 위해 사용되는 것을 나타낸다. 예를 들어 빈 0, 빈 5 및 빈 7은, 0번째 내지 3번째의 비트를 사용해서 복호된다. 반대로 말하면, 빈 0, 빈 5 및 빈 7의 3비트가, 비트 열(4100) 중의 0번째 내지 3번째의 4비트로 변환된다.
도트 집합(4101)으로부터 명백한 바와 같이, 블록 1에 속하는 최후의 빈 5를 복호하기 위해 필요한 비트 열(비트 0 내지 비트 3)은, 블록 1에 속하는 최초의 빈 3을 복호하기 위해 필요한 비트 열(비트 7 내지 비트 8)보다도 앞서 출력 데이터의 비트 스트림(4100) 내에 출현한다. 이와 같이, 블록의 각 빈의 순번에 대하여, 출력 데이터의 비트 스트림상에서의 대응하는 워드의 순번이 역전되는 경우가 있다.
블록의 최종 비트는, 이하와 같게 된다.
CABAC에 의해 블록이 부호화되는 경우와 마찬가지로, 블록의 압축 데이터의 바이너리화 데이터의 선두 비트 및 최종 비트는, 항상 MbSkipFlag 및 EndOfSliceFlag이다. 그리고 픽쳐 중에 블록이 w개 있었던 경우, 출력 데이터의 비트 스트림 중에는 반드시 w개의 MbSkipFlag와 w개의 EndOfSliceFlag가 있다.
그러나, 이 실시 형태에서는, 가변 길이 부호화된 블록 x의 최종 비트는, 블록 x의 압축 데이터의 바이너리화 데이터의 각 비트를 복호하기 위해 필요한 워드 중에서, 출력 데이터의 비트 스트림 중의 위치가 가장 뒤쪽인 워드 A의 최후의 비트가 된다. 도 4의 (B)에 도시한 예에서는, 블록 0, 블록 1 및 블록 2의 최종 비트는, 각각, 화살표(4200)로 나타내어지는, 비트 열(4100)의 8번째의 비트이다. 또한, 블록 3의 최종 비트는, 화살표(4201)로 나타내어지는, 비트 열(4100)의 14번째의 비트이다.
도 5는, 엔트로피 부호화부의 빈 부호화부 및 다중화부의 거동의 설명도이다. 빈 부호화부(304-1 내지 304-k)는, 입력 빈 열로부터 출력 워드로의 변환 맵(500)을 참조하여, 동일한 양자화 LPB 확률을 갖는 비트로 이루어지는 입력 빈 열을 워드로 변환한다. 설명의 간략화를 위해, 다중화부(305)는, 각 빈 부호화부(304-1 내지 304-k)로부터 다중화부(305)에 입력되는 빈 열에 대하여 동일한 변환 맵을 적용하는 것으로 한다. 예를 들어 빈 열 "0000"은 워드 "1"로 변환된다.
이 예에서, 입력 비트 열(501)의 각 비트에 대하여, 양자화 LPB 확률을 나타내는 확률 인덱스(502)가 확률 양자화부(303)에 의해 부가된다. 이 예에서는, LPB 확률은 4개의 값 중 어느 하나에 양자화되는 것으로 하고, 각 양자화 LPB 확률에는, 각각, 확률 인덱스 0 내지 3이 할당된다. 그리고 입력 비트 열(501)의 각 비트는, 선두의 비트(550)로부터 순서대로, 그 비트의 확률 인덱스에 대응하는 빈 부호화부에 입력된다. 예를 들어, 확률 인덱스가 '0'인 비트는, 빈 부호화부(304-1)에 입력되고, 확률 인덱스가 '1'인 비트는, 빈 부호화부(304-2)에 입력된다.
테이블(560 내지 563)은, 각각, 비트(550 내지 553)가 어느 하나의 빈 부호화부에 입력된 시점에서의, 다중화부(305)가 갖는 버퍼에 저장된 데이터를 도시한다.
테이블(560 내지 563)에 있어서, 하나의 행이, 다중화부(305)의 버퍼 내에 저장된 하나의 엔트리에 대응한다. 그리고 각 테이블 내에는, 생성된 순서에 따라서, 위에서부터 순차적으로 엔트리가 표기된다. 다중화부(305)는 출력 데이터의 비트 스트림으로서, 버퍼 내에 저장된 엔트리의 워드를, 위에서부터 아래의 순번을 따라서 출력한다. "#"은 버퍼 내의 엔트리의 인덱스이다. "Idx"는 대응하는 빈 부호화부의 인덱스이고, 이 예에서는, 이해를 쉽게 하기 위해, 빈 부호화부의 인덱스는, 그 빈 부호화부에 입력되는 입력 비트에 부가된 확률 인덱스와 동일한 값을 갖는다. 「입력」은, 입력된 비트 열(빈 열)이다. 「워드」는 입력된 비트 열에 대응하는 워드이다. 만약 입력 비트 열에 대응하는 워드가 존재하지 않을 경우(예를 들어, 입력 비트 열이 "00"인 경우), 각 테이블에 있어서 워드는 "N/A"로 표기된다.
빈 부호화부(304-1 내지 304-k) 중 어느 하나에 비트(550)가 입력되기 전의 상태에서는, 다중화부(305)의 버퍼는 비어 있는 것으로 한다.
다중화부(305)의 버퍼가 빈 상태에서, 비트가 빈 부호화부에 입력되면, 비트가 입력된 빈 부호화부는, 다중화부(305)의 버퍼에 새로운 엔트리를 작성한다. 이 예에서는, 테이블(560)에 나타내어지는 바와 같이, 확률 인덱스가 '0'이고, 또한 값이 '0'인 비트(550)가 빈 부호화부(304-1)에 입력됨으로써, 다중화부(305)의 버퍼 내에 엔트리 인덱스가 '0'인 최초의 엔트리가 작성된다. 비트(550)의 확률 인덱스가 '0'이므로, 이 엔트리의 "Idx"는 '0'이다. 또한 비트(550)의 값이 '0'이므로, 최초의 엔트리의 입력 비트 열은 "0"이 된다. 워드는 아직 미완성이므로, 이 엔트리의 워드는 "N/A"이다.
다음에, 빈 부호화부(304-2)로, 확률 인덱스가 '1'이고, 또한 값이 '0'인 비트(551)가 입력된다. 이 경우, 이 비트의 확률 인덱스에 상당하는 엔트리는 아직 다중화부(305)의 버퍼 내에 존재하지 않으므로, 테이블(561)에 나타내어지는 바와 같이, 새로운 엔트리가 생성된다. 이 2번째 엔트리의 "Idx"는 '1'이다. 또한 워드는 아직 미완성이고, 2번째 엔트리의 워드는 "N/A"이다.
이후, 새로운 비트가 빈 부호화부에 입력될 때마다, 빈 부호화부(304-1 내지 304-k) 및 다중화부(305)는, 이하의 1) 내지 4)의 규칙에 따라서, 다중화부(305)의 버퍼 내의 엔트리의 빈 열을 워드로 변환하고, 또한 적절하게 출력 가능해진 엔트리의 워드를 출력한다.
1) 빈 부호화부(304-1 내지 304-k)는, 입력 비트의 확률 인덱스에 대응하는 엔트리를, 다중화부(305)의 버퍼 내의 엔트리 인덱스의 오름차순으로 탐색한다.
2) 만약 입력 비트의 확률 인덱스에 대응하고, 워드가 "N/A"인 엔트리가 있으면, 빈 부호화부(304-1 내지 304-k)는, 그 엔트리의 입력 비트 열을 갱신한다. 구체적으로는, 빈 부호화부(304-1 내지 304-k)는, 그 엔트리의 입력 비트 열의 뒤쪽에 새로운 입력 비트를 부가한다. 다중화부(305)는 갱신된 비트 열이, 변환 테이블(500)의 빈 열 중 어느 하나와 일치하는지 여부를 판정한다. 만약 일치하는 빈 열이 있으면, 빈 부호화부(304-1 내지 304-k)는, 그 빈 열에 대응하는 워드를 이 엔트리의 워드로 한다.
3) 만약 입력 비트의 확률 인덱스에 대응하고, 워드가 "N/A"가 아닌 엔트리가 없으면, 빈 부호화부(304-1 내지 304-k)는, 그 확률 인덱스에 대응하는 새로운 엔트리를 작성한다.
4) 워드가 "N/A"가 아닌 엔트리는 비트 스트림으로서 출력 가능하지만, 엔트리의 출력 순서는 다중화부(305)의 버퍼 내의 엔트리 인덱스의 내림차순에 따른다. 이것은, 동화상 복호 장치가 다중화된 워드를 정상적으로 복호(워드로부터 빈 열로의 역변환)하기 위해 필요한 제한이다. 만약 착안하는 엔트리의 엔트리 인덱스보다 작고, 또한 워드가 "N/A"인 엔트리가 다중화부(305)의 버퍼에 남아있는 경우에는, 착안하는 엔트리의 워드가 "N/A"가 아니어도, 다중화부(305)는, 그 착안하는 엔트리를 출력할 수는 없다.
다중화부(305)는 엔트리를 출력하는 경우, 그 엔트리의 워드를 출력 데이터의 비트 스트림에 추가한다. 출력된 엔트리는 다중화 버퍼로부터 제외된다.
테이블(562)은 빈 부호화부(304-1)로, 확률 인덱스가 '0'이고, 또한 값이 '0'인 비트(552)가 입력된 시점에서의, 다중화부(305)의 버퍼의 상태를 나타낸다. 이 경우, 엔트리 인덱스가 '1' 내지 '4'인 엔트리는 출력 가능한 상태이다. 그러나, 엔트리 인덱스가 '0'인 엔트리의 워드가 "N/A"이므로, 다중화부(305)는 모든 엔트리의 워드를 아직 비트 스트림으로서 출력할 수 없다. 즉 엔트로피 부호화의 지연이 생긴다.
테이블(563)은 빈 부호화부(304-1)로, 확률 인덱스가 '0'이고, 또한 값이 '1'인 비트(553)가 입력된 시점에서의, 다중화부(305)의 버퍼의 상태를 나타낸다. 이 시점에서, 비로소 엔트리 인덱스가 '0'인 엔트리의 워드가 "N/A"가 아니게 된다. 그 때문에, 다중화부(305)는 엔트리 인덱스가 '0' 내지 '4'인 엔트리 모두를 출력할 수 있다.
도 5로부터 알 수 있는 바와 같이, 확률 인덱스의 치우침이 있는 경우, 예를 들어 도 5에서 확률 인덱스가 '0'인 비트가 입력 비트 열의 선두 비트(550) 이후 출현하지 않을 경우에는, 그 밖의 엔트리의 출력이 무한히 대기하게 된다.
따라서 엔트로피 부호화부(23)는, 이 문제를 회피하기 위해, 다중화부(305)의 버퍼에 저장된 각 엔트리의 워드의 비트량의 총합이 최대 지연값 Δ을 초과한 경우, 워드가 "N/A"의 엔트리에 대해, 엔트리의 입력 비트 열에 더미의 비트 열을 부가한다. 이에 의해, 엔트로피 부호화부(23)는, 모든 엔트리의 입력 비트 열을 워드로 변환하고, 버퍼 내의 모든 엔트리를 출력 가능하게 한다. 이 처리는 플래시 처리라고 불린다.
동화상 부호화 장치와 동화상 복호 장치는, 가변 길이 부호 및 가변 길이 복호의 다중화부의 버퍼의 상태를 공유할 수 있다. 그 때문에, 동화상 부호화 장치(10)가 최대 지연값 Δ을 동화상 복호 장치에 전송함으로써, 동화상 복호 장치도, 동화상 부호화 장치에 의해 실행되는 플래시 처리를 완전히 동일하게 실행할 수 있다.
플래시 처리를 실행함으로써, 동화상 부호화 장치(10)는, 다중화부(305)의 버퍼에 축적되어 있는 워드의 비트 총량의 상한 및 비트의 입력 시각으로부터 대응하는 워드가 비트 스트림으로서 출력되는 시각까지의 경과 시간의 상한을 억제할 수 있다.
최대 지연값 Δ을 작게 함으로써, 엔트로피 부호화 지연은 작게 할 수 있다. 그러나, 플래시 처리가 행해지면, 더미의 비트 열이 엔트리의 입력 비트 열에 삽입되므로 부호화 효율이 저하된다. 그 때문에, 최대 지연값 Δ은, 엔트로피 부호화 지연과 부호화 효율과의 균형이 잡히는 값으로 설정되는 것이 바람직하다. 예를 들어, 최대 지연값 Δ은, (Δ/R)이 연속되는 2개 그룹의 복호 시각의 차 미만이 되도록 설정되는 것이 바람직하고, 예를 들어, 4096 비트로 설정된다. 또한, R은, 동화상 부호화 장치(10)로부터 동화상 복호 장치에 데이터 스트림이 전송되는 비트 레이트이다.
또한 엔트로피 부호화의 최대 지연값 Δ은, 미리 설정된 고정값이어도 좋고, 혹은, 픽쳐마다, 혹은 복수의 픽쳐마다 설정 가능한 변수이어도 좋다.
그룹 결정부(13)는 부호화 처리 중의 블록이 속하는 그룹을, 도시하지 않은 제어부로부터 수취한 블록 카운트 정보에 기초하여 소정 방법에 따라서 결정한다. 블록 카운트 정보는, 픽쳐에 포함되는 각 블록의 번호를 나타내는 정보이고, 예를 들어, 픽쳐의 좌측 상단의 블록에 대한 번호가 1로 설정되고, 래스터 주사순에 따라서 각 블록에 번호가 할당된다. 그리고 픽쳐의 우측 하단의 블록에 대하여, 최대의 번호가 할당된다. 또한, 블록 카운트 정보는, 다른 순서에 따라서 각 블록에 할당된 번호를 포함해도 좋다.
그룹 결정부(13)는 그룹마다의 복호 처리 시간을 균등화하기 위해, 각 그룹에 포함되는 블록의 수가 가능한 한 동등해지도록 복수의 그룹을 결정하는 것이 바람직하다. 예를 들어, 그룹 결정부(13)는 블록 라인 단위로 각 블록을 그룹으로 분할하면, 임의의 픽쳐 사이즈에 있어서 각 그룹에 포함되는 블록의 수를 동등하게 할 수 있다. 예를 들어, 픽쳐 사이즈가, 고화질 텔레비전 방송(High Definition Television, HDTV) 상당의 1920 화소×1088 화소이고, 블록 사이즈가 16 화소×16 화소이면, 블록 라인수는 68이다. 따라서, 이 경우, 부호화 대상 픽쳐에 포함되는 각 블록은, 68개의 그룹 중 어느 하나로 분류된다.
또한, 그룹에 포함되는 블록의 수는, 1로부터 화면 전체의 블록수까지의 사이의 값으로 해도 좋다.
그룹 결정부(13)는, 부호화 대상 블록이 속하는 그룹의 식별 정보를 부호량 제어부(12)의 버퍼 점유량 산출부(26)에 통지한다. 또한 그룹 결정부(13)는, 그룹의 총수 N을 그룹 복호 시각 정보 산출부(14) 및 그룹 정보 부가부(15)에 통지한다. 또한, 그룹 결정부(13)는, 각 그룹의 선두에 위치하는 블록의 인덱스를 그룹 정보 부가부(15)에 통지해도 좋다.
이하, 부호화 대상 픽쳐에 포함되는 수평 방향의 블록수를 M, 수직 방향의 블록수를 N으로서, 전체 블록을 1블록 라인 단위로 N개의 그룹으로 등분할한 경우를 예로 설명한다.
그룹 복호 시각 정보 산출부(14)는, 부호화 대상 픽쳐가 부호화순을 따라서 i번째 픽쳐인 것으로서, i번째 픽쳐의 입력 시각 t(i)로부터 소정의 지연 시간 dly만큼 지연시킨 그 픽쳐의 복호 시각 dt(i) {=t(i)+dly}에 기초하여, n번째 그룹이 복호되는 시각을 나타내는 복호 시각 dgt(i, n)을 산출한다. 또는, 그룹 복호 시각 정보 산출부(14)는, 복호 시각으로서, dgt(i, n) 대신에, dgt(i, n)과 등가인 {dgt(i, n)-dgt(i, n-1)}을 산출해도 좋다. 또한, 그룹 복호 시각 정보 산출부(14)는, 복호 시각을, 적당한 단위, 예를 들어, 1/90000초 단위의 배수가 되도록 반올림 해도 좋다.
그룹 복호 시각 정보 산출부(14)는, 예를 들어, 각 그룹의 복호 시각을, 각 그룹의 복호 처리에 필요로 하는 시간을 균등하게 하기 위해, 1픽쳐당의 복호 처리에 필요로 하는 시간을 그룹수 N으로 등분할하도록 결정한다. 이 경우, n번째(n=1, 2, ... , N) 그룹의 복호 시각은, 다음 식에 따라서 산출된다.
또한, 복호 처리에 필요로 하는 시간은, 그룹마다 균등하지 않아도 좋다. 특히, 그룹 복호 시각 정보 산출부(14)는, 다음 식과 같이, 최초로 부호화ㆍ복호되는 그룹에 대응하는 복호 시각 dgt(i, 1)만, 1픽쳐당의 복호 처리에 필요로 하는 시간을 등분할한 경우의 복호 시각보다도 지연시켜도 좋다.
또한, dt(i), dt(i-1)은, 각각, i번째 픽쳐 및 (i-1)번째 픽쳐의 복호 시각이다.
또한 그룹 복호 시각 정보 산출부(14)는, 2번째 이후에 부호화ㆍ복호되는 그룹의 복호 시각 dgt(i, n)(n≥2)를, 다음 식과 같이 결정해도 좋다.
이와 같이 복호 시각을 결정함으로써, 그룹 복호 시각 정보 산출부(14)는, 버퍼 점유량 산출부(26)에 의해 산출되는 버퍼 점유량을 최초 그룹의 부호화 처리 개시 전에 크게 할 수 있다. 그 결과, 부호량 제어에서의 자유도가 향상된다.
그룹 복호 시각 정보 산출부(14)는, 각 그룹의 복호 시각을 포함하는 복호 시각 정보를, 버퍼 점유량 산출부(26) 및 그룹 정보 부가부(15)에 출력한다.
부호량 제어부(12)는, 그룹에 포함되는 모든 블록의 복호에 필요한 데이터가 그 그룹의 복호 시각까지 스트림 수신 버퍼에 도달하도록, 그 그룹에 포함되는 각 블록의 데이터의 엔트로피 부호화 후의 부호량을 제어한다. 그 때문에, 부호량 제어부(12)는, 양자화값 산출부(24)와 버퍼 점유량 산출부(26)를 갖는다.
버퍼 점유량 산출부(26)는, 이상 복호 장치의 스트림 수신 버퍼의 버퍼 점유량의 추정값을 계산한다. 전송하는 비트 레이트를 R로 하고, 버퍼 점유량을 d로 나타낸다. 부호화 처리 중 블록의 엔트로피 부호화 처리가 완료되고, 그 발생 부호량이 b이었던 경우, b가 비트 카운터(25)로부터 버퍼 점유량 산출부(26)에 통지된다. 그리고 버퍼 점유량 산출부(26)는, d로부터 b를 감산한다.
버퍼 점유량 산출부(26)는, 각 그룹의 최후 블록의 부호화 처리가 행해진 후에, 다음 식에 따라서 버퍼 점유량 d를 회복시킨다.
버퍼 점유량 산출부(26)는, 하나의 블록에 대한 엔트로피 부호화 처리가 종료될 때마다, 구한 버퍼 점유량 d를 양자화값 산출부(24)에 통지한다.
양자화값 산출부(24)는 버퍼 점유량에 기초하여, 각 블록에 대한 양자화값을 산출한다. 그 때, 양자화값 산출부(24)는, 그룹에 포함되는 모든 블록의 발생 부호량의 합계가, 그 그룹의 최초의 블록의 부호화 처리를 개시하기 직전의 버퍼 점유량 d 이하가 되도록, 즉, 부호화 처리 중에 d가 마이너스의 값이 되지 않도록 양자화값을 제어한다.
양자화값 산출부(24)는, 예를 들어, MPEG-2에서의 표준화 단체 참조 소프트웨어 Test Model5(비특허문헌 1을 참조)에서의 양자화값 산출 방법에 따라서 양자화값을 산출한다. 다음에, 양자화값 산출부(24)는 버퍼 점유량 d를 소정의 임계값 DTH1과 비교한다. 양자화값을 그 취할 수 있는 값의 범위 중의 최대값으로 하였을 때에, 각 블록에서 발생하는 최대의 부호량을 b0, 부호화 처리 중의 블록이 속하는 그룹에서, 아직 부호화 처리를 행하지 않은 블록의 수를 M0으로 하면, 임계값 DTH1은, 다음 식으로 표시된다.
수학식 5에서의 offset은 마진 항이다. d와 임계값 DTH1을 비교한 결과, d가 DTH1보다도 작으면, 양자화값 산출부(24)는 양자화값을 최대값으로 한다.
또한 b0으로서, 주파수 계수를 모두 0으로 하였을 때 블록의 부호량을 이용해도 좋다. 이때, d가 DTH1보다도 작으면, 양자화값 산출부(24)는 부호화 대상 블록의 모든 주파수 계수가 0으로 양자화되도록 양자화값을 결정한다. 이 제어에 의해, 그룹 내의 부호화 처리가 끝나지 않은 잔여 블록의 부호량의 평균값이 b0을 초과하지 않으면, 가상적인 복호 수신 버퍼는 언더 플로우하지 않는다.
이에 의해, 부호량 제어부(12)는 동화상 부호화 장치(10)로부터의 출력 스트림을 실제로 소정의 레이트 R에 따라서 동화상 복호 장치에 전송하면, 동화상 복호 장치의 수신 버퍼가 언더 플로우하지 않도록 동화상 데이터의 부호량을 제어하는 것이 가능해진다.
양자화값 산출부(24)는, 구한 양자화값을 양자화부(22)에 통지한다.
또한, 엔트로피 부호화부(23)로부터, 엔트로피 부호화의 최대 지연값 Δ이 엔트로피 부호화 지연 정보 부가부(16)에 통지된다. 엔트로피 부호화의 최대 지연값 Δ의 단위는 비트이다. 혹은, 엔트로피 부호화 지연 정보 부가부(16)는, 자신이 갖는 메모리에 미리 엔트로피 부호화의 최대 지연값 Δ을 기억하고 있어도 좋다.
엔트로피 부호화 지연 정보 부가부(16)는, 픽쳐마다, 혹은 소정의 픽쳐 간격으로, 엔트로피 부호화의 최대 지연값 Δ을 출력 데이터 스트림의 헤더 정보에 부가한다. 헤더 정보는, 예를 들어, MPEG-2에 규정되는 픽쳐 헤더, 또는 H.264에 규정되는 슬라이스 헤더로 할 수 있다.
또한, 엔트로피 부호화 지연 정보 부가부(16)는 엔트로피 부호화의 최대 지연값 Δ을 그룹 정보 부가부(15)에 통지한다.
그룹 정보 부가부(15)와 엔트로피 부호화 지연 정보 부가부(16)는, 픽쳐를 복호하기 위해 사용되는 정보를 출력 스트림에 부가하는 복호 정보 부가부의 일례이다.
동화상 부호화 장치(10)는 동화상 복호 장치와, 각 블록이 속하는 그룹 및 그룹마다의 복호 시각을 공유한다. 그 때문에, 그룹 정보 부가부(15)는, 적어도, 각 그룹에 속하는 블록을 나타내는 그룹 정보 및 각 그룹의 복호 시각을 포함하는 복호 시각 정보를 출력 데이터 스트림에 부가한다. 이에 의해, 동화상 부호화 장치(10)는, 그룹 정보 및 복호 시각 정보를 동화상 복호 장치에 통지한다.
그룹 정보 부가부(15)는, 예를 들어, 그룹 정보를, 각 픽쳐, 혹은 소정의 픽쳐 간격으로, 출력 데이터 스트림의 헤더 정보에 부가한다.
헤더 정보는, 예를 들어, MPEG-2에 규정되는, 시퀀스 헤더(Sequence Header), 또는 H.264에 규정되는 시퀀스 파라미터 세트(Sequence Parameter Set) 혹은 Supplemental Enhancement Information으로 할 수 있다. 또한, 그룹마다의 복호 시각은, MPEG-2에 규정되는 픽쳐 헤더(Picture Header), 또는 H.264에 규정되는 슬라이스 헤더(Slice Header) 등, 각 픽쳐에 반드시 부수되는 헤더 정보에 부가되어도 좋다.
각 그룹에 포함되는 블록의 수가 동등해지도록 그룹이 결정되어 있는 경우, 동화상 부호화 장치(10)는 동화상 복호 장치에 전체 블록이 N개의 그룹으로 등분할된 것을 통지한다. 그 때문에, 그룹 결정부(13)로부터 그룹 정보 부가부(15)에, 그룹 정보로서 그룹수 N이 통지된다. 그룹 정보 부가부(15)는, 그 그룹 정보를 부호화한다. MPEG-2 및 H.264에서는, 매크로 블록이라고 불리는 16×16 화소의 블록 단위로 부호화가 행해지고 있고, 이 블록수는 통상 20bit로 표현 가능한 범위를 초과하지 않는다. 그룹의 수 N의 최대값은, 최대한으로 블록수의 최대값과 동등하므로, N의 부호화도 고정 bit 길이로 부호화하면 좋다.
또한, 각 그룹에 포함되는 블록의 수가 동등하다고 한정되지 않는 경우, 그룹 결정부(13)로부터 그룹 정보 부가부(15)에 대하여, 그룹수 N과 함께, 각 그룹의 선두 블록의 인덱스 정보가 그룹 정보로서 통지된다. 그룹 정보 부가부(15)는 우선, 그룹수 N을 부호화하고, 순차 각 그룹의 선두 블록의 인덱스 정보를 부호화한다. 선두 블록의 인덱스 정보에 대한 부호화 방법도, 예를 들어, 고정 bit 길이의 부호화 방식이 사용된다. 또한, 그룹 정보 부가부(15)는, 그룹수 N 및 각 그룹의 선두 블록의 인덱스 정보를 부호화하기 위해, 허프만 부호 등의 가변 길이 부호화 방식 등, 다른 부호화 방식을 이용해도 좋다.
또한, 버퍼 점유량 산출부(26)에 의해 버퍼 점유량 산출에 사용한 그룹마다의 복호 시각 dgt(i, j)가, 그룹 복호 시각 정보 산출부(14)로부터 그룹 정보 부가부(15)에 통지된다. 그 때, 1번째 그룹으로부터 최후의 그룹인 N번째 그룹까지, 복호 시각은 dgt(i, n)-dgt(i, n-1)과 차분값의 형식으로 하여 그룹 복호 시각 정보 산출부(14)로부터 그룹 정보 부가부(15)에 통지되어도 좋다. 또한, 제1 그룹의 복호 시각에 관하여, dgt(i, 0)은 직전 픽쳐의 최후 그룹의 복호 시각 dgt(i-1, N) {=dt(i-1)}로 설정된다.
그룹 정보 부가부(15)는 버퍼 점유량 산출에 사용한 그룹마다의 복호 시각 dgt(i, j)를, 엔트로피 부호화의 최대 지연값 Δ을 사용해서 다음 식에 따라서 보정한다. 그 보정된 복호 시각 dgt'(i, j)는 복호 시각 보정 정보의 일례이고, 동화상 복호 장치에서 사용된다. 또한 R은 전송 비트 레이트이다.
수학식 6으로부터 명백한 바와 같이, 픽쳐 내의 최후의 그룹 이외의 그룹의 복호 시각은, 엔트로피 부호화의 최대 지연값 Δ에 비례한 값만큼 지연되도록 보정된다.
또한 본 실시 형태에서는, 상술한 바와 같이, (Δ/R)이 {dgt(i, j)-dgt(i, j-1)}보다도 작아지도록, 엔트로피 부호화의 최대 지연값 Δ은 설정되는 것이 바람직하다. Δ이 큰 경우에는 그룹수 N을 작게 함으로써, 동화상 부호화 장치(10)는 항상 이 조건을 만족하는 것이 가능하다.
그룹 정보 부가부(15)는, 각 그룹이 보정된 복호 시각 dgt'(i, j)의 차분 {dgt'(i, j)-dgt'(i, j-1)}을 부호화하고, 그 부호화된 복호 시각을 각 픽쳐의 데이터에 부가하여, 동화상 복호 장치에 통지한다. 그룹 정보 부가부(15)는, 각 차분값을, 적당한 정밀도, 예를 들어, 1/90000초의 정밀도로 양자화한 후에, 32bit 정도의 고정 bit 길이로 부호화하면 좋다. 또한, 여기서는, 고정 bit 길이로 부호화하는 예를 설명하였지만, 그룹 정보 부가부(15)는, 각 그룹의 복호 시각을 나타내는 차분값을, 임의의 가변 길이 부호화 방식을 사용해서 부호화해도 좋다.
동화상 복호 장치는, 통지된 그룹수 N과 각 그룹의 복호 시각 정보에 기초하여, 표시 지연량을 산출한다. 통지된 각 그룹의 복호 시각 정보에 포함되는 보정된 복호 시각은, 엔트로피 부호화의 지연을 고려된 값으로 되어 있다. 그 때문에, 각 그룹의 최후의 비트가 실제로 동화상 복호 장치에 도달하는 시각이, 엔트로피 부호화의 지연에 의해, 동화상 부호화 장치(10)의 부호량 제어부(12)가 제어에 사용한 복호 시각보다도 느린 경우에도 동화상 복호 장치는 언더 플로우가 생기지 않는다. 따라서, 동화상 복호 장치는, 각 그룹의 블록의 압축 데이터를 엔트로피 부호화함으로써 지연이 생기는 경우라도, 정상적으로 각 그룹을 복호할 수 있다.
또한, 각 그룹에 포함되는 블록수가 동등해지도록 각 그룹이 설정되어 있는 경우, 표시 지연량은 1픽쳐의 복호 처리에 필요한 최악의 처리 시간을 ct로 하여, ct/N이 된다.
상기의 실시 형태에 따른 동화상 부호화 장치(10)에 의해, 동화상 복호 장치에서의 동화상의 복호의 저지연화가 도모되는 것을, 도 6 내지 도 8을 참조하면서 설명한다.
이해를 쉽게 하기 위해, 우선, 엔트로피 부호화 지연이 실질적으로 '0'인 경우에 대해서 설명한다. 도 6은, 동화상 부호화 장치(10)에 의해 전송되는 부호화 동화상 데이터 스트림이 축적되는 수신 버퍼의 버퍼 점유량의 천이를 나타내는 도면이다. 또한 도 7은, 제1 그룹의 복호 시각을 지연시킨 경우에서의, 수신 버퍼의 버퍼 점유량의 천이를 나타내는 도면이다. 또한, 도 6 및 도 7에 있어서, 횡축은 시간을 나타내고, 종축은 버퍼 점유량을 나타낸다. 또한, 그룹수 N=4인 것으로 한다. 그리고 도 6에서의 그래프(600)는, 버퍼 점유량의 시간 천이를 나타낸다. 또한 화살표(601)로 표시되는 기간은, 각 그룹의 복호에 필요로 하는 최대 시간 ct/N을 나타낸다. 마찬가지로, 도 7에서의 그래프(700)는, 버퍼 점유량의 시간 천이를 나타낸다.
n번째 그룹에 포함되는 블록을 복호하는 데 필요한 데이터가, 수학식 1로 표현되는 시각 dgt(i, n)까지 수신 버퍼에 도착하도록, 동화상 부호화 장치(10)는 각 블록의 부호량을 제어한다. 1픽쳐의 복호 처리에 필요한 최악의 처리 시간 ct와 (i-1)번째 픽쳐 및 i번째 픽쳐의 최후 그룹의 복호 시각 dt(i-1) {=dgt(i-1, N)}, dt(i) {=dgt(i, N)} 사이에 다음 식이 성립된다.
여기서, 각 그룹에 포함되는 블록수가 동등한 경우, 도 6에 도시하는 바와 같이 다음 식이 성립되므로, i번째 픽쳐의 최후 그룹의 복호 시각 dgt(i, N)까지, i번째 픽쳐의 1 내지 (N-1)번째 그룹의 블록에 대한 복호 처리가 완료되어 있다.
N번째 그룹에 포함되는 블록의 복호에 필요한 데이터가 시각 dgt(i, N)에 동화상 복호 장치의 수신 버퍼에 도착하였다고 하면, 거기서부터 N번째 그룹의 복호 처리를 개시하였다고 하여, 복호 처리 시간으로서 ct/N이 필요해진다. 그 때문에, 다음 식으로 나타내어지는 시각에 전체 블록의 복호가 완료되어, 표시 가능해진다. 따라서, 이상 복호 장치에 대한 표시 가능 시각의 지연이, ct로부터 ct/N으로 단축한다.
그룹 단위로 복호 시각을 산출하는 경우, i번째 픽쳐의 제1 그룹의 복호 시각 dgt(i, 1)은, i번째 픽쳐의 복호 시각 dt(i)와 비교하여, {dt(i)-dt(i-1)}(N-1)/N만큼 빨라진다. 그 때문에, 도 1 및 도 6의 점선(602)으로 나타내어지는 1픽쳐 단위의 버퍼 점유량이 나타내는 바와 같이, 종래 기술과 비교하여 수신 버퍼의 점유량이 저하되고, 그 그룹에 사용 가능한 부호량이 감소함과 함께, 그룹간에서의 부호량의 배분의 자유도가 감소한다. 도 1과 같이 수신 버퍼에 각 픽쳐의 데이터가 입력되고 나서, 1픽쳐의 표시 기간 정도로, 각 픽쳐가 복호되는 저 지연에서는 버퍼 점유량이 작아지므로, 상대적으로 버퍼 점유량이 감소하는 영향이 커진다.
이와 같은 문제를 회피하기 위해, 버퍼 점유량을 회복시키는 것을 목적으로 하여, 수학식 2로 나타내는 바와 같이 제1 그룹의 복호 시각을 느리게 하는 것이 바람직하다. 제1 그룹의 복호 시각을 지연시킴으로써, 도 7에 도시하는 바와 같이, 버퍼에 전송 가능한 비트량이 증가하고, 따라서, 픽쳐의 발생 부호량의 자유도를 향상시킬 수 있다. 이때, 가장 느린 복호 완료 시각은, 다음 식으로 산출되는 값이 된다.
또한, 함수 min(x, y)는, 변수 x, y 중, 작은 쪽의 값을 되돌리는 함수이다.
수학식 10을 수학식 9와 비교하면, 제1 그룹의 복호 시각을 지연시켜도, ct가 큰 동화상 복호 장치에 대해서는, 제1 그룹의 복호 시각을 지연시키지 않는 경우에 대하여 지연이 증가하지만, ct가 충분히 짧은 동화상 복호 장치에서는, 지연은 증가하지 않는 것을 알 수 있다.
다음으로, 상기의 실시 형태와 같이, 엔트로피 부호화의 지연 최대값에 상당하는 보정량만큼 동화상 복호 장치에서의 복호 시각이 지연됨으로써, 동화상 복호 장치에 있어서 수신 버퍼의 언더 플로우의 발생이 방지되는 것을, 도 8을 참조하면서 설명한다.
도 8은, 버퍼 점유량 대신에, 동화상 부호화 장치에서의 발생 정보량 및 동화상 복호 장치에서의 복호 정보량의 시간 경과를 나타낸 그래프이다. 도 8에 있어서 횡축은 시각을 나타내고, 종축은 동화상 부호화 장치에서의 발생 정보량 누적값 및 동화상 복호 장치에서의 복호 정보량 누적값을 나타낸다.
그래프(800)는 송신 버퍼의 발생 정보량 누적값을 나타낸다. 시각 t(0)에서 i번째 픽쳐 내의 0번째 그룹의 부호화가 완료된다. 그리고, 비트량이 b(0)인, i번째 픽쳐 내의 0번째 그룹의 엔트로피 부호화 데이터가 송신 버퍼에 시각 t(0)에서 순시로 입력된다. 이때, 엔트로피 부호화의 지연에 의해, 픽쳐 내의 0번째 그룹의 최종의 빈에 상당하는 워드는 아직 비트 스트림으로서 엔트로피 부호화부(23)로부터 출력되어 있지 않은 것으로 한다. 그 결과로서, 엔트로피 부호화부(23)의 다중화부(305)의 버퍼에 δ비트가 남아있다. 즉, 픽쳐 내의 0번째 그룹의 엔트로피 부호화 데이터 내, 최후의 δ비트를 제외하는 그 밖의 비트 열이 송신 버퍼에 저장된다.
화살표(810)로 나타내어진 나머지의 δ비트는, i번째 픽쳐 내의 1번째 그룹의 부호화 데이터와 함께, 시각 t(1)에서 송신 버퍼에 입력된다.
그래프(801)는, 동화상 부호화 장치의 송신 버퍼로부터 동화상 복호 장치의 수신 버퍼에 전송되는 비트량의 누적값을 나타낸다. 또한, 그래프(801)와 그래프(800)의 종축 방향의 차가, 송신 버퍼의 버퍼 점유량에 상당한다.
픽쳐 내 0번째 그룹의 부호화 데이터가 송신 버퍼에 입력된 순간으로부터, 그 부호화 데이터는 지정된 비트 레이트 R로 수신 버퍼에 지연 없이 전송된다. 픽쳐 내 0번째 그룹의 최후의 빈에 상당하는 워드가 수신 버퍼에 전송되는 시각은, 시각 t(1)로부터 비트 레이트 R로 δ비트를 전송하는 데 필요로 하는 시간을 경과한 시점(802)이 된다.
그래프(803)는 동화상 복호 장치에서의 복호 정보량의 누적값이다. 동화상 복호 장치는, 시각 t(0)으로부터 그룹당의 발생 정보량이 전송되는 데 필요로 하는 시간만큼 대기하고 나서, 픽쳐 내 0번째 그룹의 부호화 데이터를 수신 버퍼로부터 순시로 인발한다. 그리고 동화상 복호 장치는, 그 0번째 그룹에 포함되는 각 블록을 복호한다. 여기서, 동화상 복호 장치가 시각 t(1) {=dgt(i, 0)}에 복호를 개시하면, 시각 t(1)에서는 픽쳐 내 0번째 그룹의 최후의 빈에 상당하는 비트가 아직 수신 버퍼에 존재하지 않으므로, 버퍼 언더 플로우가 생긴다.
그러나, 본 실시 형태에서는, 픽쳐 내의 최종 그룹을 제외하는 각 그룹의 복호를 개시하는 시각은, 시각 t(j+1)(j=0, 1, ... , N-2)로부터 화살표(811)로 표시되는 시간(Δ/R)만큼 지연시킨 시각, 즉, dgt'(i, j)가 된다. 따라서, 예를 들어, 시각 t(1)로부터 시간(Δ/R)만큼 지연시킨 시각 dgt'(i, 0)에서는, i번째 픽쳐 내의 0번째 그룹의 최후의 빈에 상당하는 비트가 수신 버퍼에 도착하고 있다. 그 때문에, 동화상 복호 장치는 버퍼 언더 플로우가 생기는 일 없이, 픽쳐의 각 그룹의 블록을 복호할 수 있다. 또한, 픽쳐 내의 최후의 그룹에 관해서는, 그 부호화 데이터가, 다음 픽쳐의 데이터의 부호화를 대기하지 않고, 그 부호화 데이터의 모두가 엔트로피 부호화되어, 송신 버퍼에 입력된다. 그 때문에, 동화상 복호 장치는, 그 최종 그룹의 모든 부호화 데이터가 수신 버퍼에 입력되는 시각 t(N) {=dgt(i, N-1)}에 그 최종 그룹의 복호를 개시할 수 있다. 그 때문에, 이상 복호 장치에 대한 표시 가능 시각의 지연은, 수학식 9 또는 수학식 10으로 표시되는 값이 된다.
도 9는, 하나의 실시 형태에 따른 동화상 부호화 장치(10)에 의해 실행되는 동화상 부호화 처리의 동작 플로우차트이다. 동화상 부호화 장치(10)는 픽쳐마다, 이하의 동화상 부호화 처리를 실행한다.
그룹 결정부(13)는, 각 블록이 속하는 그룹을 결정한다(스텝 S101). 그리고 그룹 결정부(13)는, 블록이 속하는 그룹을 나타내는 식별 정보를 부호량 제어부(12)의 버퍼 점유량 산출부(26)에 통지한다. 또한 그룹 결정부(13)는, 그룹의 총수 N을 그룹 복호 시각 정보 산출부(14) 및 그룹 정보 부가부(15)에 통지한다. 또한, 그룹 결정부(13)는, 각 그룹의 선두에 위치하는 블록의 인덱스를 그룹 정보 부가부(15)에 통지해도 좋다.
다음으로, 그룹 복호 시각 정보 산출부(14)는, 그룹마다 복호 시각을 산출한다(스텝 S102). 그리고 그룹 복호 시각 정보 산출부(14)는, 각 그룹의 복호 시각을 나타내는 정보를 버퍼 점유량 산출부(26) 및 그룹 정보 부가부(15)에 통지한다.
또한, 엔트로피 부호화 지연 정보 부가부(16)는 엔트로피 부호화부(23)로부터 엔트로피 부호화의 최대 지연값 Δ을 취득한다(스텝 S103). 엔트로피 부호화의 최대 지연값 Δ은, 엔트로피 부호화 지연 정보 부가부(16)로부터 그룹 정보 부가부(15)에 통지된다.
다음에 그룹 정보 부가부(15)는 그룹 복호 시각 정보 산출부(14)로부터 통지된 그룹 복호 시각을, 엔트로피 부호화 지연 정보 부가부(16)로부터 통지되는 엔트로피 부호화의 최대 지연값 Δ에 기초하여 보정한다(스텝 S104). 그룹 정보 부가부(15)는, 각 블록이 속하는 그룹을 나타내는 그룹 정보 및 보정된 복호 시각을 포함하는 복호 시각 정보를 부호화하고, 그 부호화된 그룹 정보 및 복호 시각 정보를 출력 데이터 스트림에 부가한다. 또한 엔트로피 부호화 지연 정보 부가부(16)는 엔트로피 부호화의 최대 지연값 Δ을 출력 데이터 스트림에 부가한다(스텝 S105).
한편, 버퍼 점유량 산출부(26)는, 그룹에 포함되는 모든 블록의 복호에 필요한 데이터가, 소정의 전송 레이트로 동화상 복호 장치에 전송된 경우에서의, 각 그룹의 복호 시각에서의 수신 버퍼의 버퍼 점유량을 추정한다(스텝 S106). 또한, 버퍼 점유량 산출부(26)가 참조하는 복호 시각은 엔트로피 부호화의 지연이 고려되어 있지 않은, 즉, 보정되기 전의 복호 시각이다. 그 때, 버퍼 점유량 산출부(26)는 비트 카운터(25)로부터 수취한, 그때까지 부호화된 그룹 내의 블록의 부호량을 참조한다. 그리고 버퍼 점유량 산출부(26)는, 추정한 버퍼 점유량을 부호량 제어부(12)의 양자화값 산출부(24)에 통지한다. 양자화값 산출부(24)는, 각 그룹의 복호 시각까지 각 그룹의 모든 데이터가 동화상 복호 장치의 스트림 수신 버퍼에 도달하도록, 각 그룹에 속하는 블록의 부호량을 제어한다(스텝 S107). 그리고 양자화값 산출부(24)는, 그 부호량에 따른 양자화값을 부호량의 제어 정보로서 산출하고, 그 양자화값을 부호화 처리부(11)의 양자화부(22)에 통지한다.
부호화 처리부(11)의 직교 변환부(21)는, 각 블록마다 직교 변환 처리를 행하여, 각 블록의 주파수 계수의 조를 산출한다(스텝 S108). 그리고 직교 변환부(21)는, 각 블록의 주파수 계수의 조를 양자화부(22)에 출력한다.
양자화부(22)는, 부호량의 제어 정보인 양자화값에 기초하여 각 블록의 주파수 계수의 조를 양자화한다(스텝 S109). 그리고 양자화부(22)는, 양자화된 각 주파수 계수를 부호화 처리부(11)의 엔트로피 부호화부(23)에 출력한다. 엔트로피 부호화부(23)는, 양자화된 각 주파수 계수를 엔트로피 부호화한다(스텝 S110). 그리고 엔트로피 부호화부(23)는, 얻어진 엔트로피 부호를 출력한다. 이 엔트로피 부호와 그룹 정보 부가부(15)로부터의 출력된 그룹 정보, 복호 시각 정보 등이 출력 데이터 스트림에 저장된다. 또한 엔트로피 부호화부(23)는, 블록마다의 부호량을 비트 카운터(25)에 출력한다.
스텝 S110의 이후, 동화상 부호화 장치(10)는 동화상 부호화 처리를 종료한다.
이상으로 설명해 온 바와 같이, 이 동화상 부호화 장치는 픽쳐를 분할한 블록을 그룹 단위로 분류하고, 그 그룹마다 추정되는 복호 시각에 따라서, 그룹에 포함되는 블록의 부호량을 조정함으로써, 복호 지연을 저감시킬 수 있다. 또한 이 동화상 부호화 장치는 엔트로피 부호화의 최대 지연에 기초하여 복호 시각을 보정함과 함께, 그 보정된 복호 시각을 동화상 복호 장치에 통지함으로써, 엔트로피 부호화의 지연이 생겨도, 수신 버퍼가 언더 플로우하는 것을 방지할 수 있다.
변형예에 따르면, 엔트로피 부호화 지연 정보 부가부(16)는 픽쳐마다, 혹은 소정의 픽쳐 간격으로, 복호 시각의 보정량(Δ/R)을 복호 시각 보정 정보로서, 엔트로피 부호화의 최대 지연값 Δ과 함께 출력 데이터 스트림의 헤더 정보에 부가해도 좋다. 이 경우도, 헤더 정보는, 예를 들어, MPEG-2에 규정되는 픽쳐 헤더, 또는 H.264에 규정되는 슬라이스 헤더로 할 수 있다.
이 경우, 그룹 정보 부가부(15)는, 그룹 복호 시각 정보 산출부(14)로부터 출력되는 각 그룹의 복호 시각을 보정하지 않고 그대로 부호화하고, 부호화한 복호 시각을 출력 데이터 스트림에 부가한다. 동화상 복호 장치는, 상기의 수학식 6에 따라서, 복호 시각의 보정량(Δ/R)을 사용해서 그룹 정보 부가부(15)에 의해 출력 데이터 스트림에 부가된 각 그룹의 복호 시각을 보정함으로써, 엔트로피 부호화의 지연을 고려한 각 그룹의 복호 시각을 산출한다.
또한, 엔트로피 부호화부(23)는, 상기의 방식에 한정되지 않고, 각 그룹을 부호화할 때에 소정의 최대값 이하의 지연이 생길 가능성이 있는, 다른 부호화 방식에 따라서 각 그룹을 부호화해도 좋다.
컴퓨터상에서 실행됨으로써, 상술한 실시 형태 또는 그 변형예에 의한 동화상 부호화 장치의 각 부의 기능을 실현하는 컴퓨터 프로그램은, 반도체 메모리 또는 광 기록 매체 등의 기록 매체에 기록되어 배포되어도 좋다.
상술한 실시 형태 또는 그 변형예에 의한 동화상 부호화 장치는, 다양한 용도에 이용된다. 예를 들어, 이 동화상 부호화 장치는 비디오 카메라, 영상 송신 장치, 영상 수신 장치, 영상 전화 시스템, 컴퓨터 혹은 휴대 전화기에 내장된다.
여기에 예를 든 모든 예 및 특정한 용어는, 독자가, 본 발명 및 당해 기술의 촉진에 대한 본 발명자에 의해 기여된 개념을 이해하는 것을 돕는, 교시적인 목적에서 의도된 것이고, 본 발명의 우위성 및 열등성을 나타내는 것에 관한, 본 명세서의 어떠한 예의 구성, 그와 같은 특정한 예 및 조건에 한정되지 않도록 해석되어야 할 것이다. 본 발명의 실시 형태는 상세하게 설명되어 있지만, 본 발명의 정신 및 범위로부터 벗어나는 일 없이, 다양한 변경, 치환 및 수정을 이에 추가하는 것이 가능한 것을 이해받고자 한다.
10 : 동화상 부호화 장치
11 : 부호화 처리부
12 : 부호량 제어부
13 : 그룹 결정부
14 : 그룹 복호 시각 정보 산출부
15 : 그룹 정보 부가부
16 : 엔트로피 부호화 지연 정보 부가부
21 : 직교 변환부
22 : 양자화부
23 : 엔트로피 부호화부
24 : 양자화값 산출부
25 : 비트 카운터
26 : 버퍼 점유량 산출부
301 : 바이너리화부
302 : 콘텍스트 모델화부
303 : 확률 양자화부
304-1 내지 304-k : 빈 부호화부
305 : 다중화부
11 : 부호화 처리부
12 : 부호량 제어부
13 : 그룹 결정부
14 : 그룹 복호 시각 정보 산출부
15 : 그룹 정보 부가부
16 : 엔트로피 부호화 지연 정보 부가부
21 : 직교 변환부
22 : 양자화부
23 : 엔트로피 부호화부
24 : 양자화값 산출부
25 : 비트 카운터
26 : 버퍼 점유량 산출부
301 : 바이너리화부
302 : 콘텍스트 모델화부
303 : 확률 양자화부
304-1 내지 304-k : 빈 부호화부
305 : 다중화부
Claims (8)
- 동화상 데이터에 포함되는 각 픽쳐를 복수의 블록으로 분할하여 부호화하는 동화상 부호화 장치로서,
상기 복수의 블록의 각각이, 상기 픽쳐를 분할한 복수의 그룹 중 어느 것에 속할지를 결정하는 그룹 결정부와,
상기 그룹마다 복호 시각을 산출하는 그룹 복호 시각 정보 산출부와,
상기 그룹에 포함되는 모든 블록의 복호에 필요한 데이터가, 소정의 전송 레이트로 동화상 복호 장치에 전송된 경우에, 상기 복호 시각 정보 산출부에 의해 산출된 상기 그룹의 복호 시각까지 상기 동화상 복호 장치의 스트림 수신 버퍼에 도달하도록, 상기 그룹에 포함되는 각 블록의 데이터의 엔트로피 부호화 후의 부호량을 제어하는 부호량 제어부와,
상기 부호량에 기초하여 상기 각 블록의 데이터를 압축하는 압축부와,
상기 압축부에 의해 압축된 상기 각 블록의 데이터를 엔트로피 부호화하는 엔트로피 부호화부와,
상기 엔트로피 부호화부에 의한 엔트로피 부호화에 수반하는 상기 그룹마다의 지연의 최대값에 상당하는 상기 그룹마다의 복호 시각의 보정 정보 및 상기 각 블록이 속하는 그룹을 나타내는 그룹 정보를 출력 데이터에 부가하는 복호 정보 부가부
를 갖는 동화상 부호화 장치. - 제1항에 있어서,
상기 복호 정보 부가부는, 상기 지연의 최대값에 상당하는 시간만큼 상기 그룹마다의 복호 시각을 보정하고, 상기 보정된 복호 시각을 상기 보정 정보로서 상기 출력 데이터에 부가하는 동화상 부호화 장치. - 제2항에 있어서,
상기 복호 정보 부가부는, 각 픽쳐의 최후의 그룹에 대해서만, 상기 지연의 최대값을 제로로 하여 상기 최후의 그룹의 상기 보정된 복호 시각을 산출하는 동화상 부호화 장치. - 제1항에 있어서,
상기 복호 정보 부가부는, 상기 그룹마다의 복호 시각과 상기 지연의 최대값에 상당하는 복호 시각의 보정량을 상기 보정 정보로서 상기 출력 데이터에 부가하는 동화상 부호화 장치. - 동화상 데이터에 포함되는 각 픽쳐를 복수의 블록으로 분할하여 부호화하는 동화상 부호화 방법으로서,
상기 복수의 블록의 각각이, 상기 픽쳐를 분할한 복수의 그룹 중 어느 것에 속할지를 결정하고,
상기 그룹마다 복호 시각을 산출하고,
상기 그룹에 포함되는 모든 블록의 복호에 필요한 데이터가, 소정의 전송 레이트로 동화상 복호 장치에 전송된 경우에, 상기 그룹의 상기 복호 시각까지 상기 동화상 복호 장치의 스트림 수신 버퍼에 도달하도록, 상기 그룹에 포함되는 각 블록의 데이터의 엔트로피 부호화 후의 부호량을 제어하고,
상기 부호량에 기초하여 상기 각 블록의 데이터를 압축하고,
압축된 상기 각 블록의 데이터를 엔트로피 부호화하고,
압축된 상기 각 블록의 데이터의 엔트로피 부호화에 수반하는 상기 그룹마다의 지연의 최대값에 상당하는 상기 그룹마다의 복호 시각의 보정 정보 및 상기 각 블록이 속하는 그룹을 나타내는 그룹 정보를 출력 데이터에 부가하는
것을 포함하는 동화상 부호화 방법. - 동화상 데이터에 포함되는 각 픽쳐를 복수의 블록으로 분할하여 부호화하는 것을 컴퓨터에 실행시키는 동화상 부호화용 컴퓨터 프로그램이 기록된 컴퓨터 판독가능한 기록 매체로서, 상기 동화상 부호화용 컴퓨터 프로그램은,
상기 복수의 블록의 각각이, 상기 픽쳐를 분할한 복수의 그룹 중 어느 것에 속할지를 결정하고,
상기 그룹마다 복호 시각을 산출하고,
상기 그룹에 포함되는 모든 블록의 복호에 필요한 데이터가, 소정의 전송 레이트로 동화상 복호 장치에 전송된 경우에, 상기 그룹의 상기 복호 시각까지 상기 동화상 복호 장치의 스트림 수신 버퍼에 도달하도록, 상기 그룹에 포함되는 각 블록의 데이터의 엔트로피 부호화 후의 부호량을 제어하고,
상기 부호량에 기초하여 상기 각 블록의 데이터를 압축하고,
압축된 상기 각 블록의 데이터를 엔트로피 부호화하고,
압축된 상기 각 블록의 데이터의 엔트로피 부호화에 수반하는 상기 그룹마다의 지연의 최대값에 상당하는 상기 그룹마다의 복호 시각의 보정 정보 및 상기 각 블록이 속하는 그룹을 나타내는 그룹 정보를 출력 데이터에 부가하는
것을 컴퓨터에 실행시키는 명령을 갖는 기록 매체. - 삭제
- 삭제
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2011/050762 WO2012098646A1 (ja) | 2011-01-18 | 2011-01-18 | 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130105887A KR20130105887A (ko) | 2013-09-26 |
KR101494562B1 true KR101494562B1 (ko) | 2015-02-17 |
Family
ID=46515298
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020137018768A KR101494562B1 (ko) | 2011-01-18 | 2011-01-18 | 동화상 부호화 장치, 동화상 부호화 방법 및 동화상 부호화용 컴퓨터 프로그램이 기록된 컴퓨터 판독가능한 기록 매체 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9479781B2 (ko) |
EP (1) | EP2667603A4 (ko) |
JP (1) | JP5447695B2 (ko) |
KR (1) | KR101494562B1 (ko) |
CN (1) | CN103329524B (ko) |
WO (1) | WO2012098646A1 (ko) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9979970B2 (en) | 2014-08-08 | 2018-05-22 | Qualcomm Incorporated | System and method for determining buffer fullness for display stream compression |
US10861196B2 (en) | 2017-09-14 | 2020-12-08 | Apple Inc. | Point cloud compression |
US11818401B2 (en) | 2017-09-14 | 2023-11-14 | Apple Inc. | Point cloud geometry compression using octrees and binary arithmetic encoding with adaptive look-up tables |
US11113845B2 (en) | 2017-09-18 | 2021-09-07 | Apple Inc. | Point cloud compression using non-cubic projections and masks |
US10909725B2 (en) * | 2017-09-18 | 2021-02-02 | Apple Inc. | Point cloud compression |
US11017566B1 (en) | 2018-07-02 | 2021-05-25 | Apple Inc. | Point cloud compression with adaptive filtering |
US11202098B2 (en) | 2018-07-05 | 2021-12-14 | Apple Inc. | Point cloud compression with multi-resolution video encoding |
US11367224B2 (en) | 2018-10-02 | 2022-06-21 | Apple Inc. | Occupancy map block-to-patch information compression |
US11895307B2 (en) | 2019-10-04 | 2024-02-06 | Apple Inc. | Block-based predictive coding for point cloud compression |
US11798196B2 (en) | 2020-01-08 | 2023-10-24 | Apple Inc. | Video-based point cloud compression with predicted patches |
US11948338B1 (en) | 2021-03-29 | 2024-04-02 | Apple Inc. | 3D volumetric content encoding using 2D videos and simplified 3D meshes |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003535523A (ja) | 2000-06-01 | 2003-11-25 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 映像信号符号化およびバッファ管理 |
JP2009177352A (ja) | 2008-01-22 | 2009-08-06 | Canon Inc | 動画像符号化装置及びその制御方法、並びに、コンピュータプログラム |
JP2010278668A (ja) | 2009-05-27 | 2010-12-09 | Sony Corp | 符号化装置及び符号化方法、並びに復号装置及び復号方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH039684A (ja) * | 1989-06-06 | 1991-01-17 | Nec Corp | フレーム間予測符号化装置の発生情報制御方式 |
JPH0379182A (ja) * | 1989-08-23 | 1991-04-04 | Fujitsu Ltd | 画像符号化制御方式 |
JP2787599B2 (ja) | 1989-11-06 | 1998-08-20 | 富士通株式会社 | 画像信号符号化制御方式 |
US6963608B1 (en) * | 1998-10-02 | 2005-11-08 | General Instrument Corporation | Method and apparatus for providing rate control in a video encoder |
CN1328748A (zh) * | 1998-10-02 | 2001-12-26 | 通用仪器公司 | 视频编码器速率控制的方法及设备 |
US7418007B1 (en) * | 2000-09-20 | 2008-08-26 | General Instrument Corporation | Method and apparatus for determining a transmission bit rate in a statistical multiplexer |
US8467444B2 (en) * | 2008-06-16 | 2013-06-18 | Canon Kabushiki Kaisha | Information processing system, information processing apparatus, information processing method, and program |
JP6234660B2 (ja) * | 2012-04-27 | 2017-11-22 | 富士通株式会社 | 動画像復号装置 |
-
2011
- 2011-01-18 WO PCT/JP2011/050762 patent/WO2012098646A1/ja active Application Filing
- 2011-01-18 EP EP11856170.3A patent/EP2667603A4/en not_active Withdrawn
- 2011-01-18 KR KR1020137018768A patent/KR101494562B1/ko not_active IP Right Cessation
- 2011-01-18 JP JP2012553495A patent/JP5447695B2/ja not_active Expired - Fee Related
- 2011-01-18 CN CN201180065441.4A patent/CN103329524B/zh not_active Expired - Fee Related
-
2013
- 2013-07-10 US US13/938,952 patent/US9479781B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003535523A (ja) | 2000-06-01 | 2003-11-25 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 映像信号符号化およびバッファ管理 |
JP2009177352A (ja) | 2008-01-22 | 2009-08-06 | Canon Inc | 動画像符号化装置及びその制御方法、並びに、コンピュータプログラム |
JP2010278668A (ja) | 2009-05-27 | 2010-12-09 | Sony Corp | 符号化装置及び符号化方法、並びに復号装置及び復号方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2667603A1 (en) | 2013-11-27 |
CN103329524B (zh) | 2016-10-05 |
CN103329524A (zh) | 2013-09-25 |
US9479781B2 (en) | 2016-10-25 |
WO2012098646A1 (ja) | 2012-07-26 |
JPWO2012098646A1 (ja) | 2014-06-09 |
JP5447695B2 (ja) | 2014-03-19 |
EP2667603A4 (en) | 2015-01-07 |
KR20130105887A (ko) | 2013-09-26 |
US20130294502A1 (en) | 2013-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101494562B1 (ko) | 동화상 부호화 장치, 동화상 부호화 방법 및 동화상 부호화용 컴퓨터 프로그램이 기록된 컴퓨터 판독가능한 기록 매체 | |
KR101627568B1 (ko) | 동화상 부호화 장치, 동화상 부호화 방법 및 동화상 부호화용 컴퓨터 프로그램 | |
US9282329B2 (en) | Methods and devices for data compression using offset-based adaptive reconstruction levels | |
KR101106086B1 (ko) | 부호화 장치 및 부호화 방법 | |
US9131249B2 (en) | Apparatus for encoding moving images to minimize an amount of generated code | |
JPWO2009157577A1 (ja) | 画像処理装置及び画像処理方法 | |
WO2009157581A1 (ja) | 画像処理装置及び画像処理方法 | |
US6226326B1 (en) | Coding device and coding method | |
US9014274B2 (en) | Video image encoding device, video image encoding method | |
WO2011148887A1 (ja) | 動画像配信システム、動画像送信装置、動画像配信方法および動画像配信プログラム | |
US10448035B2 (en) | Information compression device, information compression method, non-volatile recording medium, and video coding device | |
KR102020953B1 (ko) | 카메라 영상의 복호화 정보 기반 영상 재 부호화 방법 및 이를 이용한 영상 재부호화 시스템 | |
JP4847423B2 (ja) | 動画像符号化装置、および、コンピュータプログラム | |
JP2010288070A (ja) | 画像符号化装置 | |
CN117063465A (zh) | 视频编码设备、视频解码设备、视频编码方法、视频解码方法和视频*** |
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 | ||
LAPS | Lapse due to unpaid annual fee |