KR20110096118A - 이미지 인코딩 장치, 이미지 인코딩 방법, 및 이미지 인코딩 프로그램 - Google Patents

이미지 인코딩 장치, 이미지 인코딩 방법, 및 이미지 인코딩 프로그램 Download PDF

Info

Publication number
KR20110096118A
KR20110096118A KR1020117012232A KR20117012232A KR20110096118A KR 20110096118 A KR20110096118 A KR 20110096118A KR 1020117012232 A KR1020117012232 A KR 1020117012232A KR 20117012232 A KR20117012232 A KR 20117012232A KR 20110096118 A KR20110096118 A KR 20110096118A
Authority
KR
South Korea
Prior art keywords
macroblocks
rate
encoding
macroblock
image
Prior art date
Application number
KR1020117012232A
Other languages
English (en)
Inventor
요우스케 다카다
도모노리 마츠자키
Original Assignee
톰슨 라이센싱
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 톰슨 라이센싱 filed Critical 톰슨 라이센싱
Publication of KR20110096118A publication Critical patent/KR20110096118A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • 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/174Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • 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/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/88Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving rearrangement of data among different coding units, e.g. shuffling, interleaving, scrambling or permutation of pixel data or permutation of transform coefficient data among different blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명의 목적은, 고속에서 동작가능하고 인코딩 효율을 저하시키지 않으면서 이미지의 전체 이미지 품질을 균일화시킬 수 있고, 슬라이스 구조를 변경시키지 않으면서 매크로블록 셔플링 (macroblock shuffling) 을 수행함으로써 회로 스케일의 크기를 감소시킬 수 있는 이미지 인코딩 장치, 이미디 인코딩 방법, 및 이미지 인코딩 프로그램을 제공하는 것이다. 이미지 내의 각각의 위치들로부터 이미지 데이터를 구성하는 복수의 매크로블록들을 수집하고 셔플링하는 셔플링부; 셔플링부에 의해 수집되고 셔플링된 복수의 매크로블록들에 대해 기본 단위로서 공간-주파수 변환 및 엔트로피 인코딩을 수행하는 인코딩부; 및 인코딩 이후에 복수의 매크로블록의 레이트를 조절하기 위해 인코딩부를 제어하는 레이트 제어부를 포함하는 이미지 인코딩 장치가 제공된다.

Description

이미지 인코딩 장치, 이미지 인코딩 방법, 및 이미지 인코딩 프로그램{IMAGE ENCODING APPARATUS, IMAGE ENCODING METHOD, AND IMAGE ENCODING PROGRAM}
본 발명은 이미지 처리 기술에 관한 것이고, 더욱 구체적으로는 이미지 인코딩 장치, 이미디 인코딩 방법, 및 이미지 인코딩 프로그램에 관한 것이다.
동화상 (moving image) 을 디지털 처리하기 위한 기술에서, 대량의 정보를 압축하고 인코딩하기 위한 방법은 디지털 비디오 및 첨부 오디오에 대한 인코딩 방법으로 MPEG-2 로서도 공지되어 있는 표준 ISO/IEC 13818 을 포함한다. MPEG-2 의 파트 2 (ISO/IEC 13818-2) 는 비디오 코딩을 구체화한다. 전술한 바와 같이 MPEG-2 의 표준에 따라서 생성된 비트스트림은 통신, 텔레비전 브로드캐스팅 등에서 널리 이용된다 (비특허 문헌 1 참조).
MPEG-2 에 따른 비트스트림은 계층적 구조를 갖고, 가장 높은 시퀀스 층으로부터, GOP (Group of Pictures) 층, 픽쳐 층, 슬라이스 층, 매크로블록 층, 및 블록 층을 포함한다.
MPEG-2 에서, 각각의 이미지 프레임은 일련의 복수의 이미지들에 의해 구성된 동화상을 처리할 때 프레임 메모리에 저장되고, 프레임들 사이에서 모션 보상차를 취함으로써 시간적 리던던시 (temporal redundancy) 가 이용되고, 또한, 공간적 리던던시를 이용하고 동화상의 효율적인 압축 및 인코딩을 실현하도록 각각의 프레임을 구성하는 복수의 픽셀들에 이산 코사인 변환 (이하, "DCT" 로서 약기함) 이 적용된다.
인코딩된 신호는 디코더에 송신되어 디코딩되고 재생된다. 일반적으로, MPEG-2 는 인터-프레임 코딩을 이용하여 높은 압축율을 실현한다. 디코더에서, 이미지 프레임은 디코딩되고 제 1 프레임 메모리에 저장되며, 뒤따르는 이미지 프레임은 모션 정보에 근거하여 예측되어 제 2 프레임 메모리에 저장되며, 2 개의 프레임들 사이에 삽입된 이미지 프레임은 그 2 개의 프레임들로부터 추가적으로 예측되어 일련의 이미지 프레임들을 구성하고 동화상을 복원한다. 전술한 방법은 쌍방향 예측 (bidirectional prediction) 으로 불린다.
MPEG-2 에서, 이러한 쌍방향 예측을 실현하기 위해, 3 가지 유형의 프레임들, 즉, I-프레임, P-프레임, 및 B-프레임이 정의된다. I-프레임은 인트라-코딩된 프레임을 나타내고, 다른 프레임들과는 독립적으로 정지 이미지로서 인코딩된 이미지이다. P-프레임은 순방향 예측 코딩된 프레임을 나타내고, 과거에 위치된 I-프레임 또는 P-프레임에 근거하여 예측되고 인코딩된 이미지이다. B-프레임은 쌍방향으로 예측 코딩된 프레임을 나타내고, 순방향, 역방향, 또는 쌍방향 프레임들에 근거하여 예측되고 인코딩된 이미지는 그 각각이 과거에 또는 미래에 위치되는 I-프레임 또는 P-프레임이다. 즉, I-프레임 및 P-프레임이 먼저 인코딩된 후, 이들 사이에 삽입될 B-프레임이 인코딩된다 (비특허 문헌 2 참조).
인터-프레임 코딩은, 연속적인 프레임들 사이의 상관을 이용하여 압축이 수행되는 특성을 갖기 때문에, 압축 및 압축 해제가 반복되는 경우에는 이미지 품질이 쉽게 악화된다. 따라서, 높은 이미지 품질을 요구하는 비디오 편집 시스템 또는 비디오 서버에서, 몇몇 경우에는 오직 인트라-프레임 코딩만이 이용된다. 예를 들어, I (인트라) 프레임만이 MPEG-2 에서 이용되는 경우가 있다. MPEG-2 에서, 일반적으로, I-프레임 뿐만 아니라 P-프레임 및 B-프레임과 같은 복수의 프레임들을 포함하는 GOP 의 유닛에 의해 레이트 제어가 실행되고; 전술한 것과 유사한 레이트 제어 방법이 I-프레임만의 인코딩에 적용될 수 있고, 이하 "I-프레임-온리 인코딩" 으로서 지칭된다.
인코더에 의해 인코딩된 MPEG-2 비트스트림은 미리결정된 전송 레이트로 동작가능한 송신 경로로 전송되어, 송신 경로 상에서 디코더에 입력된 후, 이후에 재생되도록 디코딩된다. 그러나, 동화상 신호의 정보의 양, 즉, 엔트로피는 일정하지 않다. 동화상 신호들을 인코딩하여, 인코딩된 동화상 신호를 고정 레이트로 전송 경로에 비트스트림의 형태로 전송하기 위해, 인코딩된 신호가 일정한 엔트로피를 갖게 되도록, 레이트 제어를 수행하는 것이 필요하다.
이미지 인코딩의 종래 기술의 레이트 제어는 도 8 을 참조하여 설명될 것이다. 도 8 에 도시된 종래-기술 이미지 인코딩 장치 (100) 에는, 디지털화된 이미지 데이터가 입력되는 입력부 (101), 블로킹 처리부 (102), 인코딩부 (103), FIFO 버퍼 (104), 레이트 제어부 (105), 및 출력부 (106) 가 제공된다. 블로킹 처리부 (102) 는 입력부 (101) 로부터 입력된 이미지 데이터를 블록으로 분할하고 인코딩의 기본 단위인 매크로블록들을 생성한다. 인코딩부 (103) 는 블로킹 처리부 (102) 에 의해 생성된 매크로블록들에 대해 DCT 변환, 양자화, 및 가변-길이 인코딩을 적용하여, 비트스트림을 생성한다. FIFO 버퍼 (104) 는 인코딩부 (103) 로부터 공급된 비트스트림을 일시적으로 축적하고, 이를 출력부 (106) 를 통해서 출력한다. 레이트 제어부 (105) 는 FIFO 버퍼 (104) 의 점유에 근거하여 후속 이미지 데이터의 양자화 처리를 위해 인코딩부 (103) 에 의해 이용된 양자화 파라미터들을 제어하기 위한 피드백 레이트 제어를 수행한다. 양자화 파라미터들은 양자화의 조악함 (coarseness) 또는 정밀함 (fineness) 에 영향을 주고, 양자화의 조악함 또는 조밀함은 초당 인코딩되는 비트들의 수에 직접 영향을 준다. 양자화가 조악해지면, 더 적은 데이터가 유지되고, 인코딩된 이미지 데이터의 품질은 악화된다. 양자화가 정밀해지면, 더 많은 데이터가 유지되고, 이미지 인코딩의 품질은 개선된다. 그러나, 양자화가 너무 정밀하면, 초당 인코딩된 비트의 수는 할당된 대역폭을 초과하여, 제한된 대역폭에 맞추도록 하기 위해 레이트 제어가 다시 적용되는 것이 필요하다.
I-프레임-온리 인코딩에 대해 높은 비트 레이트가 필요하기 때문에, 대부분의 경우에 디코더 버퍼는 충분한 공간을 갖지 않는다. 따라서, I-프레임-온리 인코딩에 대해 더 엄격한 레이트 제어가 필요하기 때문에, 레이트 제어는 평상시보다 더 많은 시간이 필요하다. 따라서, 피드백 레이트 제어의 특성으로 인해, 특히 장면 변화, 컷, 삽입 등과 같은 편집의 결과로서, I-프레임의 레이트가 프레임마다 상이할 수도 있기 때문에, 레이트는 순간적으로 증가하고, 이는 버퍼 유지의 조건을 위반하는 결과를 초래하여 이에 따라 버퍼 실패를 야기할 수도 있다.
DV 코덱은, I-프레임이 동일한 크기가 되도록 레이트 제어가 실행되기 때문에 전술한 문제를 갖지 않는다. 레이트 제어를 효율적으로 수행하기 위해, 매크로블록 셔플링 (shuffling) 으로 지칭되는 방법이 이용된다 (예를 들어, 특허 문헌 1 참조). 매크로블록은 휘도 (luminance) 및 색차 (chrominance) 를 나타내는 DCT 블록들의 어셈블리이다. 또한, MPEG-1 및 MPEG-2 가 매크로블록에 대응하는 블록들을 갖기 때문에, 여기의 "매크로블록" 은 MPEG-1 및 MPEG-2 의 매크로블록에 대응하는 임의의 블록을 지칭하는 것으로 가정된다.
매크로블록 셔플링에서, 예를 들어, 공간적으로 랜덤인 위치들에 위치된 복수의 매크로블록들 중 예를 들어 5 개의 피스들이 수집된 후 인코딩된다. 여기서, 인코딩된 매크로블록의 코드 길이는 "매크로블록의 레이트" 로서 지칭된다. 레이트 제어는, 이렇게 수집되어 인코딩된 매크로블록의 레이트가 타겟 레이트를 초과하지 않게 되도록, 수행된다. 전술한 것과 같이 수집된 매크로블록의 어셈블리는 "세그먼트" 로서 지칭된다. 전술한 레이트 제어에 의해, 세그먼트의 작은 유닛들에 대한 레이트 제어가 수행되는 동안 전체 이미지 데이터에 비트들이 공평하게 할당된다. 또한, 세그먼트에 포함된 매크로블록들의 수는 작게 될 수 있기 때문에, 레이트 제어는 고속으로 실행될 수 있고, 필요한 회로 스케일은 작게될 수 있다.
인용문헌 리스트
특허 문헌
PTL 1 : 일본 미심사 특허 출원 공개 공보 H11-298896
비특허 문헌
NPL 1 : ISO/IEC 13818-2:2000, 정보 기술---동화상 및 관련 오디오 정보의 속성 코딩: 비디오
NPL 2 : 2003 년 Peter Symes, "Digital Video Compression", Mcgraw-Hill
MPEG-2 의 스트림 구조에 따르면, 매크로블록의 로우가 슬라이스라고 불리는 구조로 어셈블링되고, 스캔 순서에 의존하는 매크로블록들을 형성하는 프로세싱 (예를 들어, DC 성분의 DPCM 인코딩) 이 슬라이스들 내에서 수행되기 때문에, 셔플링된 매크로블록들을 서로 독립적으로 인코딩하고 레이트 제어하는 것이 가능하지 않다. 따라서, MPEG-2 에 따른 I-프레임-온리 인코딩의 경우, DV 표준에 규정된 것과 같은 매크로블록 셔플링을 이용하는 레이트 제어를 수행하는 것은 어렵다. MPEG-2 에서, 하나의 매크로블록이 하나의 슬라이스를 구성할 수도 있는 방식으로, 스트림 구조를 변경시키도록 허용하기 때문에, 매크로블록들은 독립적으로 인코딩되고 레이트-제어될 수 있다. 그러나, 스트림 구조가 이와 같이 변화하는 경우, DC 예측과 같은 예측 인코딩이 적용될 수 없고, 보충 정보로 인해 오버헤드가 증가하는 문제가 발생하여, 이에 따라, 코딩 효율이 악화된다.
전술한 문제의 관점에서, 본 발명의 목적은 고속으로 동작가능하고 인코딩 효율을 저하시키지 않으면서 이미지 전체의 이미지 품질을 균일하게 할 수 있고 슬라이스 구조를 변화시키지 않으면서 매크로블록 셔플링을 수행함으로써 회로 스케일의 크기를 감소시킬 수 있는 이미지 인코딩 장치, 이미지 인코딩 방법, 및 이미지 인코딩 프로그램을 제공하는 것이다. 더욱 정밀하게는, 예측량이 알려지지 않은 매크로블록에 대해 가능한 최대 레이트, 즉, 보정 레이트를 먼저 추정함으로써 그리고 예측량이 알려지는 매번 매크로블록들 각각의 레이트를 적절하게 업데이트함으로써 레이트 제어가 보증된다. 또한, 비트들이 각각의 매크로블록에 공평하게 할당되게 하는 레이트 제어는, 기대 레이트, 즉, 평균 레이트로부터 보정 레이트의 편차가 상쇄되도록 할당된 레이트를 적합하게 보정함으로써 실현된다.
본 발명의 제 1 양태에 따르면, 이미지를 나타내는 이미지 데이터를 인코딩하기 위한 이미지 인코딩 장치가 제공되는데, 이 장치는: 이미지 데이터를 구성하는 복수의 매크로블록들을 이미지 내의 각각의 위치들로부터 수집하고 셔플링하는 셔플링부 (shuffling portion); 셔플링부에 의해 수집되고 셔플링된 복수의 매크로블록들에 대해 기본 단위로서 공간-주파수 변환 및 엔트로피 인코딩을 수행하는 인코딩부; 및 복수의 매크로블록들을 기본 단위로서 이용하여, 인코딩 이후의 복수의 매크로블록들의 레이트를 조절하도록 인코딩부를 제어하는 레이트 제어부를 포함하고, 여기서 레이트 제어부는 복수의 매크로블록들의 각각의 매크로블록에 대해 각각의 매크로블록의 예측원 매크로블록으로부터 예측되는 예측량이 알려져 있는지의 여부를 판별하고, 복수의 매크로블록들을 포함하는 이미지 데이터 전체에서 이미 인코딩된 매크로블록들 중 알려지지 않은 예측량을 갖는 것으로서 각각 판별된 매크로블록들의 수에 기초하여 레이트 보정을 수행함으로써 인코딩부를 제어한다.
이 구성에 따르면, 본 발명에 따른 이미지 인코딩 장치는 레이트 보정을 이용하여 레이트 제어를 실현할 수 있고, 이미지 인코딩 장치는 복수의 매크로블록들의 각각의 매크로블록에 대해 각각의 매크로블록의 예측원 매크로블록으로부터 예측되는 예측량이 매크로블록들을 셔플링하는 중에 알려져 있는지의 여부를 판별하고, 복수의 매크로블록들을 포함하는 이미지 데이터 전체에서 이미 인코딩된 매크로블록들 중 알려지지 않은 예측량을 갖는 것으로서 각각 판별된 매크로블록들의 수에 기초하여 레이트 보정을 수행함으로써 인코딩부를 제어할 수 있다. 또한, 프로세싱을 수행하는 동안 집합적으로 구성하는 기본 단위의 매크로블록들의 수에 대해 적은 수를 선택함으로써, 이 프로세싱을 고속에서 동작가능하게 하고 프로세싱에 필요한 회로 스케일의 크기를 감소시키는 것이 가능하다. 또한, 인코딩부가 기본 단위로 매크로블록 셔플링함으로써 이미지 데이터 내의 의사-랜덤 위치들로부터 취해진 적은 수의 매크로블록들에 대한 인코딩을 수행하기 때문에, 이미지 전체의 이미지 품질은 균일하게 될 수 있고, 이미지의 품질은 개선될 수 있다. 예를 들어, 이미지 엔트로피와 관련하여 큰 변동을 갖는 일련의 이미지 데이터가 I-프레임으로 인코딩된다고 할지라도, 출력 스트림의 크기가 균일하게 될 수 있기 때문에, 버퍼의 제약을 깨뜨리는 것은 불가능하다. 따라서, 다수의 스레드를 통해서 복수의 프레임들을 동시에 인코딩한 후 스트림으로 어셈블링하는 것이 가능하다. 동일한 이유로, 컷 및 삽입과 같은 편집 동작이 인코딩 이후에 가능하다.
또한, 전술한 이미지 인코딩 장치에서, 관련 예측원 매크로블록으로부터 예측되는 예측량이 알려지지 않은 인코딩된 매크로블록이 오픈 매크로블록으로서 정의되고, 레이트 제어부는 복수의 매크로블록 내의 매크로블록들의 수를 이미지 데이터 내에서 매크로블록들의 수로 제산함으로써 획득된 값에 이미지 데이터의 할당된 레이트를 승산함으로써 복수의 매크로블록들의 할당된 레이트를 산출하고, 오픈 매크로블록의 예측 코드의 최대 레이트와 예측 코드의 평균 레이트의 차이에 인코딩부에 의해 복수의 매크로블록들이 인코딩되기 전후에 이미지 데이터 전체의 오픈 매크로블록들의 수 사이의 차이를 승산함으로써 복수의 매크로블록들의 할당된 레이트에 대한 보정을 산출하고, 복수의 매크로블록들의 할당된 레이트에 보정을 가산함으로써 보정되고 할당된 레이트를 산출하고, 복수의 매크로블록들의 인코딩 이후의 레이트가 보정되고 할당된 레이트 이하가 되도록 인코딩부를 제어할 수도 있다.
이 구성을 통해서, 본 발명에 따른 이미지 인코딩 장치에서, 레이트 제어부는 복수의 매크로블록들 내의 매크로블록들의 수를 이미지 데이터 내에서 매크로블록들의 수로 제산함으로써 획득된 값에 이미지 데이터의 할당된 레이트를 승산함으로써 복수의 매크로블록들의 할당된 레이트를 산출하고, 오픈 매크로블록의 예측 코드의 최대 레이트와 예측 코드의 평균 레이트 사이의 차이에 인코딩부에 의해 복수의 매크로블록들이 인코딩되기 전후에 이미지 데이터 전체의 오픈 매크로블록들의 수 사이의 차이를 승산함으로써 복수의 매크로블록의 할당된 레이트에 대한 보정을 산출하고, 복수의 매크로블록들의 할당된 레이트에 대한 보정을 가산함으로써 보정되고 할당된 레이트를 산출하고, 복수의 매크로블록들의 인코딩 이후의 레이트가 보정되고 할당된 레이트 이하가 되도록 인코딩부를 조절할 수 있다. 따라서, 인코딩할 때, 오픈 매크로블록의 레이트가 가능한 최대 레이트가 오픈 매크로블록에 할당된 후에 예측 코드의 레이트가 알려지게 되는 매번 적절하게 업데이트되기 때문에, 그 예측량은 알려지지 않고, 레이트 제어는 보증될 수 있다. 또한, 할당된 레이트가 적절하게 보정되기 때문에, 예측 코드의 레이트는 공평하게 그리고 안정되게 할당될 수 있다.
또한, 전술한 이미지 인코딩 장치에서, 복수의 매크로블록들은 JPEG 및 MPEG-2 중 적어도 하나에 따른 인코딩부에 의해 인코딩될 수도 있다. 더욱 구체적으로는, 전술한 사항은 정지 이미지에 적용될 수 있다. 본 발명에 따른 이미지 인코딩 장치에서, 이미지 엔트로피와 관련된 큰 변동을 갖는 일련의 이미지 데이터가 I-프레임으로만 인코딩된다고 할지라도, 출력 비트스트림의 크기는 실질적으로 균일화될 수 있고, 복수의 스레드를 이용하여 동시에 복수의 프레임들을 인코딩하는 것이 가능하여, 이들을 스트림으로 어셈블링할 수 있다. 또한, 동일한 이유로, 인코딩 이후에 컷 및 삽입과 같은 편집이 용이하다. 또한, 인코딩가산 인터-프레임 코딩 방법에 따른 복수의 매크로블록을 인코딩할 수도 있기 때문에, 본 발명은 다수의 어플리케이션에 적용될 수 있다.
전술한 이미지 인코딩 장치에서, 예측 코드는 예를 들어 DC 예측의 코드를 포함할 수도 있다. 이러한 구성을 통해서, 본 발명에 따른 이미지 인코딩 장치에서, 인코딩시에, DC 예측이 알려지지 않은 오픈 매크로블록에 가능한 최대 레이트가 할당된 후에 예측 코드의 레이트가 알려지게 되는 매번 적절하게 레이트가 업데이트될 수 있기 때문에, 레이트 제어는 보증될 수 있다. 공간-주파수 변환은 DCT 변환에 의해 실행될 수도 있고, 수집되고 할당된 레이트에 근거하여 인코딩부에 의해 복수의 매크로블록들이 양자화될 때 이용되는 양자화 스케일을 레이트 제어부가 결정할 수도 있다. 예를 들어, DC 예측에서 희생될 수도 있는 AC 성분에 할당된 레이트는 안정적으로 확보될 수 있고, 2-차원적인 정밀한 변화는 분명하게 묘사될 수 있다.
전술한 이미지 인코딩 장치에서, 이미지 데이터는 일렬로 배열된 제 2 복수의 매크로블록들로 구성된 슬라이스 레이어를 포함할 수도 있고, 셔플링부는 제 2 복수의 매크로블록들이 셔플링될 때 슬라이스 레이어 내의 스캔 순서를 포함하는 제 2 복수의 매크로블록의 위치 정보를 생성할 수도 있고, 레이트 제어부는 슬라이스 레이어를 구성하는 일렬로 배열된 제 2 복수의 매크로블록들의 매크로블록의 비트단위 레이트 및 슬라이스 레이어를 구성하는 일렬로 배열된 제 2 복수의 매크로블록들의 인코딩된 매크로블록들과 이와 관련된 오버헤드의 비트단위 전체 레이트의 합계를 8 로 제산하고 이에 따라 획득된 몫을 정수로 반올림함으로써 획득된 값으로부터, 슬라이스 레이어를 구성하는 일렬로 배열된 제 2 복수의 매크로블록들에서의 인코딩된 매크로블록들과 이와 관련된 오버헤드의 비트단위 전체 레이트를 8 로 제산하고 이렇게 획득된 몫을 정수로 반올림함으로써 획득된 값을 감산함으로써 슬라이스 레이어를 구성하는 일렬로 배열된 제 2 복수의 매크로블록들의 매크로블록의 레이트를 바이트 단위로 산출할 수도 있다.
슬라이스에서 매크로블록의 코드들은 바이트 단위로 항상 처리된다. 이러한 구성을 통해서, 본 발명에 따른 이미지 인코딩 장치에서, 레이트 제어부는 슬라이스 레이어를 구성하는 일렬로 배열된 복수의 매크로블록들에서의 인코딩된 매크로블록들과 이와 관련된 오버헤드의 비트단위 전체 레이트 및 매크로블록의 비트단위 레이트의 합계를 8 로 제산하고 이렇게 획득된 몫을 정수로 반올림한 값으로부터, 슬라이스 레이어를 구성하는 일렬로 배열된 복수의 매크로블록에서의 인코딩된 매크로블록들과 이와 관련된 오버헤드의 비트단위 전체 레이트를 8 로 제산하고 이렇게 획득된 몫을 정수로 반올림함으로써 획득된 값을 감산함으로써 매크로블록의 레이트를 바이트 단위로 산출할 수 있고, 슬라이스 레이어 내의 각각의 매크로블록의 레이트는 비트들의 분수 (fraction) 를 제공하여 보수적으로 추정될 수 있다.
전술한 이미지 인코딩 장치는, 인코딩부에 의해 인코딩된 코딩된 데이터를 일시적으로 저장하기 위한 중간 버퍼부; 및 중간 버퍼부에 저장된 코딩된 데이터를 스캔 순서로 판독하여 코딩된 데이터를 출력함으로써 셔플링부에 의해 셔플링되기 전에 순서로 배열되도록 코딩된 데이터를 재순서화하기 위한 재순서화부를 더 포함할 수도 있고, 여기서 중간 버퍼부는 매크로블록들의 전체 수에 고정-길이 오버헤드를 승산함으로써 획득된 값과 이미지 데이터 전체의 할당된 레이트의 합계와 동일한 용량을 가질 수도 있다.
각각의 매크로블록에 대한 매크로블록의 코드들을 저장하기 위한 종래-기술 버퍼를 통해서, 매크로블록의 최대 레이트는 각각의 매크로블록 버퍼에 할당되지만; 그러나, 본 발명에 따른 이미지 인코딩 장치에서, 필요한 버퍼 용량은 이미지 데이터 전체에 할당된 레이트와 매크로블록의 전체 수에 고정-길이 오버헤드를 승산함으로써 획득된 값의 합계로 감소될 수 있다.
본 발명의 제 2 양태에 따르면, 이미지를 나타내는 이미지 데이터를 인코딩하기 위한 이미지 인코딩 방법이 제공되고, 이 방법은: 이미지 내의 각각의 위치들로부터 이미지 데이터를 구성하는 복수의 매크로블록들을 수집하고 셔플링하는 셔플링 단계; 셔플링 단계에서 수집되고 셔플링된 복수의 매크로블록들을 기본 단위로서 공간-주파수 변환 및 엔트로피 인코딩을 수행하는 인코딩 단계; 및 복수의 매크로블록들을 기본 단위로서 이용하여, 인코딩 이후에 복수의 매크로블록들의 레이트를 조절하도록 인코딩 단계를 제어하는 레이트 제어 단계를 포함하고, 레이트 제어 단계는 복수의 매크로블록들의 각각의 매크로블록에 대해 각각의 매크로블록의 예측원 매크로블록으로부터 예측되는 예측량이 알려져 있는지의 여부를 판별하는 단계, 및 복수의 매크로블록들을 포함하는 이미지 데이터 전체에서 이미 인코딩된 매크로블록들 중 알려지지 않은 예측량을 갖는 것으로서 각각 판별된 매크로블록들의 수에 기초하여 레이트 보정을 수행함으로써 인코딩 단계를 제어하는 단계를 갖는다.
본 발명의 제 3 양태에 따르면, 이미지를 나타내는 이미지 데이터를 인코딩하도록 컴퓨터에 의해 실행가능한 이미지 인코딩 프로그램이 제공되는데, 이 이미지 인코딩 프로그램은: 이미지 내의 각각의 위치들로부터 이미지 데이터를 구성하는 복수의 매크로블록들을 수집하고 셔플링하는 셔플링 단계; 셔플링 단계에서 수집되고 셔플링된 복수의 매크로블록들에 대해 기본 단위로서 공간-주파수 변환 및 엔트로피 인코딩을 수행하는 인코딩 단계; 및 복수의 매크로블록들을 기본 단위로서 이용하여, 인코딩 이후에 복수의 매크로블록들의 레이트를 조절하도록 인코딩 단계를 제어하는 레이트 제어 단계를 포함하고, 레이트 제어 단계는 복수의 매크로블록들의 각각의 매크로블록에 대해 각각의 매크로블록의 예측원 매크로블록으로부터 예측되는 예측량이 알려져 있는지의 여부를 판별하고, 복수의 매크로블록들을 포함하는 이미지 데이터 전체로서 이미 인코딩된 매크로블록들 중 알려지지 않은 예측량을 갖는 것으로서 각각 판별된 매크로블록들의 수에 기초하여 레이트 보정을 수행함으로써 인코딩 단계를 제어하는 단계를 포함한다.
각각의 매크로블록의 예측원 매크로블록으로부터 예측되는 예측량이 매크로블록을 셔플링하는 도중에 알려져 있는지의 여부가 판별되고, 복수의 매크로블록들을 포함하는 이미지 데이터 전체에서 이미 인코딩된 매크로블록들 중에서 알려져 있지 않은 예측량을 갖는 것으로서 각각 판별된 매크로블록들의 수에 기초하여 레이트 보정을 수행함으로써 인코딩 단계가 제어되기 때문에, 레이트 보정을 이용하여 레이트 제어를 실현하는 것이 가능하다. 또한, 프로세싱을 수행하기 위해 기본 단위로 집합적으로 구성하는 매크로블록들의 수에 대해 적은 수를 선택함으로써, 프로세싱을 고속으로 동작가능하게 하고 그 프로세싱에 필요한 회로 스케일의 크기를 감소시키는 것이 가능하다. 또한, 인코딩 단계가 매크로블록 셔플링에 의해 이미지 데이터 내에서 의사-랜덤 위치로부터 취해진 매크로블록에 대해 인코딩을 수행하기 때문에, 기본 단위로서 복수의 매크로블록들을 이용하여, 전체 이미지의 이미지 품질이 균일화될 수 있고, 이미지의 품질은 개선될 수 있다. 예를 들어, 엔트로피와 관련하여 큰 변동을 갖는 일련의 이미지 데이터가 I-프레임만을 이용하여 인코딩된다고 해도, 출력 스트림의 크기가 균일화될 수 있기 때문에, 버퍼의 제약을 깨뜨릴 수 있는 가능성은 없다. 따라서, 다수의 스레드를 통해서 복수의 프레임을 동시에 인코딩하고 그 후 스트림으로 어셈블링하는 것이 가능하다. 이러한 이유로, 컷 및 삽입과 같은 편집 동작이 인코딩 이후에 가능하다.
매크로블록 셔플링을 실행함으로써, 의사-랜덤 방식으로 매크로블록이 추출되고, 인코딩이 단위로서 세그먼트로 불리는 소수의 매크로블록들을 통해서 제어되기 때문에, 고속 레이트 제어가 실현될 수 있고 이미지 품질을 균일화시키면서 필요한 회로 스케일의 크기가 감소될 수 있어서, 이에 따라 이미지의 품질은 개선될 수 있다. 슬라이스 구조가 변화되지 않기 때문에, 예측 인코딩이 적용될 수 있고 인코딩 효율은 저하되지 않는다. 레이트 제어는, 알려지지 않은 예측원 매크로블록들로부터 예측된 예측량의 매크로블록들에 대해 가능한 최대 레이트, 즉, 보정 레이트를 먼저 추정하고, 예측이 알려질 때마다 매번 각각의 매크로블록들의 레이트를 적절하게 업데이트함으로써 보증될 수 있다. 또한, 기대 레이트, 즉, 평균 레이트 e 로부터 보정 레이트의 편차가 상쇄되도록, 할당된 레이트를 적절하게 보정함으로써 각각의 매크로블록에 대해 비트들이 공평하게 할당될 수 있다.
도 1 은 본 발명에 따른 이미지 인코딩 장치의 제 1 실시형태를 예시하는 블록도이다.
도 2 는 도 1 에 도시된 이미지 인코딩 장치의 셔플링부에 의해 실행된 셔플링을 예시하는 도면이다.
도 3 은 도 2 에 도시된 셔플링에 의해 형성된 세그먼트의 예시를 나타내는 도면이다.
도 4 는 도 1 에 도시된 이미지 인코딩 장치에 의해 수행된 인코딩 프로세스를 예시하는 도면이다.
도 5 는 도 1 에 도시된 이미지 인코딩 장치의 레이트 제어부에 의해 수행된 레이트 제어 프로세스를 예시하는 흐름도이다.
도 6 은 본 발명에 따른 이미지 인코딩 장치의 제 2 실시형태를 예시하는 블록도이다.
도 7 은 도 6 의 중간 스트림 버퍼를 예시하는 도면이다.
도 8 은 종래 기술의 이미지 인코딩 장치를 예시하는 블록도이다.
본 발명의 바람직한 실시형태들은 첨부된 도면을 참조하여 이하 설명된다.
제 1 실시형태
본 발명에 따른 이미지 인코딩 장치의 제 1 실시형태가 도 1 을 참조하여 설명될 것이다. 도 1 에 도시된 바와 같이, 이미지 인코딩 장치 (10) 의 본 실시형태에는, 디지털화된 이미지 데이터를 입력하기 위한 입력부 (1), 블로킹 처리부 (2), 셔플링부 (3), 인코딩부 (4), 레이트 제어부 (5), 재순서화부 (6), 및 출력부 (7) 가 제공된다. 블로킹 처리부 (2) 는 인코딩의 기본 단위인 매크로블록들을 생성하기 위해 입력부 (1) 로부터 입력된 이미지 데이터를 블록들로 분할한다. 셔플링부 (3) 는 의사-랜덤 방식으로 블로킹 처리부 (2) 에 의해 생성된 매크로블록들을 추출한다. 셔플링부 (3) 에 의해 의사-랜덤 방식으로 추출된 복수의 매크로블록들은 집합적으로 세그먼트로 지칭된다. 세그먼트를 구성하는 매크로블록들의 수는 적은 수, 말하자면 5 개일 수도 있다. 인코딩부 (4) 는 셔플링부 (3) 에 의해 의사-랜덤 방식으로 셔플링되고 추출된 매크로블록들에 대해 DCT 변환, 양자화, 및 가변-길이 인코딩을 적용하여 비트스트림을 생성한다. 레이트 제어부 (5) 는 셔플링된 매크로블록들에 대한 세그먼트의 단위로 레이트 제어를 수행한다. 셔플링부 (3) 에 의해 실행된 셔플링 및 레이트 제어부 (5) 에 의해 실행된 레이트 제어의 세부사항들은 이하 설명될 것이다. 재순서화부 (6) 는 인코딩부 (4) 에 의해 생성된 비트스트림을 셔플링부 (3) 에 의한 셔플링 이전 순서로 재순서화하고, 출력부 (7) 를 통해서 그 비트스트림을 출력한다. 이미지 인코딩 장치의 본 실시형태가 셔플링에 의해 이미지상에서 의사-랜덤 위치들로부터의 매크로블록들을 추출하기 때문에, 전체 이미지로서 이미지의 이미지 품질은 균일화될 수 있다. 따라서, 세그먼트에 포함된 매크로블록들의 수는 적을 수 있기 때문에, 레이트 제어는 고속에서 수행될 수 있고, 필요한 제어 스케일은 적게 될 수 있다.
1. 구체적인 셔플링 방법
셔플링부 (3) 에 의해 실행된 구체적인 셔플링 방법이 도 2 를 참조하여 이하 설명될 것이다. 도 2 는, 셔플링부 (3) 가 셔플링을 실행하는 매크로블록들을 블록들로 분할된 이미지 데이터를 예시하고, 도 3 은 이미지 데이터로부터 의사-랜덤 방식으로 추출된 매크로블록들을 포함하는 세그먼트를 예시한다. 본 실시형태에서, 이미지 데이터가 35 컬럼 × 25 로우의 매크로블록들을 포함한다고 가정하여, 설명이 제공될 것이다.
먼저, 전체 이미지 데이터는 7 컬럼과 5 로우의 매크로블록들을 갖는 수퍼블록으로 분할된다. 도 2 에서, 수퍼블록들은 굵은 선의 직사각형으로 나타난다. 본 실시형태에서, 어떠한 매크로블록들도 동일한 컬럼 또는 로우의 적어도 하나를 공유하도록, 5 개의 수퍼블록들 (SB0 내지 SB4) 이 선택된다. 점선 화살표는 수퍼블록들의 스캔 순서를 나타낸다. 도 2 에서, 위로부터 k-번째 수에 위치된 i-번째 로우 및 j-번째 컬럼의 수퍼블록이 SBK[i,j] 라고 가정하면, SB0[0,0], SB1[1,2], SB2[2,4], SB3[3,1], SB4[4,3] 가 선택된다.
다음으로, 선택된 수퍼블록들이 스캔되고, 선택된 수퍼블록들 중 각각으로부터 하나의 매크로블록이 추출되어, 하나의 세그먼트가 형성된다. 도 2 에서, 매크로블록은 얇은 선의 사각형으로 표시되고, 실선 화살표는 매크로블록의 스캔 순서를 나타낸다. k-번째 수퍼블록에서 스캔된 1-번째 매크로블록이 MB[k.1] 라고 가정하면, 형성된 세그먼트의 예시는 도 3 에 도시된다. 도 3 에 도시된 세그먼트는 각각의 수퍼블록들로부터 추출된, 11-번째 매크로블록들 MB[0,11], MB[1,11], MB[2,11], MB[3,11], MB[4,11] 로 형성된다.
도 2 의 실선 화살표로 나타난 순서로 소정의 수퍼블록들의 모든 매크로블록들이 처리된 후에, 점선 화살표로 나타난 수퍼블록들의 스캔 순서에 의해 나타난 바와 같이, 그 아래 위치된 처리되지 않은 수퍼블록들 및 각각의 처리된 수퍼블록들이 선택되고, 미리결정된 순서로 각각의 처리되지 않은 수퍼블록들로부터 매크로블록들이 선택되고, 후속 세그먼트들이 형성된다. 아래에 위치된 수퍼블록 내의 매크로블록들 모두가 처리된 경우, 처리된 수퍼블록과 동일한 컬럼의 상부에 있는 처리되지 않은 수퍼블록이 다음으로 선택된다. 유사한 처리가 모든 수퍼블록들에서 수행된다. 하나의 처리되지 않은 매크로블록이 도 2 의 실선 화살표로 나타난 것과 같이 각각의 수퍼블록 내부에서 지그재그 스캐닝 순서로 선택된 수퍼블록 각각으로부터 선택되는 방식으로 세그먼트 매크로블록들이 선택될 수 있지만, 예를 들어, 이에 한정하지는 않고, 세그먼트에 속하는 미리결정된 수의 매크로블록들이 이미지 데이터로부터 공간적으로 미싱 (missing) 되지 않고 의사-랜덤 방식으로 제때 선택될 수 있는 한, 임의의 순서로 선택이 이루어질 수도 있다. 또한, 추출된 매크로블록들의 수는 5 개로 한정되지 않고, 시스템을 구현시키기에 적절하다면, 임의의 수일 수도 있고, 또는 가변적일 수도 있다. 이러한 셔플링 패턴은, 셔플링부 (3) 가 메모리에 저장된 테이블을 지칭하면서 셔플링을 실행할 수 있도록, 테이블로서 메모리 (미도시) 에 사전 저장될 수도 있다. 인코딩부 (4) 및 레이트 제어부 (5) 는 앞서 설명된 바와 같이 형성된 각각의 세그먼트에 대해 인코딩 처리 및 레이트 제어를 각각 실행한다.
도 2 에서, 쉐이디드 매크로블록들 (shaded macroblocks) 은 인코딩된 매크로블록들을 나타낸다. 옅은 쉐이딩은 DC 예측과 관련된 예측원 매크로블록이 아직 인코딩되지 않은 인코딩된 매크로블록을 나타내고, 짙은 쉐이딩은 DC 예측과 관련된 예측원 매크로블록이 이미 인코딩된 인코딩된 매크로블록을 나타낸다. 이하, DC 예측과 관련하여 예측원 매크로블록이 아직 인코딩되지 않은 인코딩된 매크로블록은 "오픈 매크로블록 (open macroblock)" 으로서 지칭되고, DC 예측과 관련된 예측원 매크로블록이 이미 인코딩된 인코딩된 매크로블록은 "클로즈드 매크로블록 (closed macroblock)" 으로서 지칭된다. 슬라이스 레이어는 도 2 의 수평 방향에서 매크로블록의 로우로 구성된다. 가장 좌측에 있는 매크로블록이 슬라이스의 선두에 위치된 매크로블록이기 때문에, 클로즈드 매크로블록으로서 항상 처리된다. MPEG-2 에 따르면, 매크로블록들의 로우가 슬라이스를 구성하기 때문에, 수퍼블록들을 교차하여 DC 예측이 형성될 수도 있다. 셔플링부 (3) 는, 매크로블록이 셔플링될 때의 슬라이스 레이어내에서 스캔 순서를 포함하는 매크로블록들의 위치 정보를 생성한다.
도 2 에 도시된 것과 같이 셔플링이 수행될 때, 인코딩된 매크로블록들의 수가 특정 수, 예를 들어, 모든 매크로블록들의 수의 1/2 에 도달할 때까지 인코딩이 진행됨과 함께 오픈 매크로블록들의 수가 증가하는 경향이 있지만, 인코딩된 매크로블록들의 수가 추가적으로 증가하여 특정 수를 초과하는 경우, 오픈 매크로블록들의 수는 감소하는 경향이 있다. 매크로블록들의 수가 이미지 데이터 크기 또는 수퍼블록들로의 분할 방법에 따라서 하나의 세그먼트와 다른 세그먼트가 상이할 수도 있다. 이 경우, 세그먼트 내부의 매크로블록 마다의 레이트가 동일하게 되도록, 하나의 세그먼트에 할당되는 레이트는 변화될 수도 있다. 본 실시형태에서, 하나의 세그먼트 내의 매크로블록들의 수는 설명을 간략화하기 위해서 항상 동일한 것으로 가정한다.
2. 매크로블록의 인코딩 방법
MPEG-2 에 따르는 인코딩부 (4) 에 의해 수행된 I-프레임에서 매크로블록들의 인코딩 방법이 이하 설명될 것이다. 하나의 매크로블록을 구성하는 DCT 블록들의 수는 색도 서브샘플링 (chroma subsampling) 에 기초하여 상이하지만, 색도 서브샘플링은 설명의 용이성을 위해 4:2:2 가 되는 것으로 가정된다. 색도 서브샘플링이 4:2:2 인 경우, 매크로블록이 Cb 및 Cr 각각에 대해 4 개의 휘도 (Y) 블록들 및 2 개의 색차 (Cb, Cr) 블록들로 구성된다. 블록들 각각은 DCT 변환된다. DCT 블록의 DCT 성분은 하나의 DC 성분 및 잔존하는 AC 성분들로 분할되고, 여기에는 상이한 인코딩 프로세스들이 각각 적용된다.
AC 성분들은 주파수에 의존하여 상이한 정확도를 가지고 양자화 매트릭스에 의해 양자화된다. 그후, 매트릭스-양자화된 AC 성분들은 모든 AC 성분들에 공통인 양자화 스케일에 의해 더 양자화된다. 양자화 스케일에 의해 양자화된 AC 성분은 지그재그-스캐닝되어 엔트로피-인코딩된다. 인코딩부 (4) 는 양자화 스케일을 AC 성분으로 변화시킴으로써 레이트 제어를 수행한다.
DC 성분은, 11, 10, 9 또는 8 비트로 양자화되고, Y, Cb, 및 Cr 에 대해 예측 인코딩된다. 즉, 소정의 블록의 DC 성분은 후속하는 블록의 DC 성분에 대한 예측값으로서 이용되어, 그 차이가 인코딩된다. 도 4 는 색차 신호들을 나타내는 Cb 및 Cr 의 휘도 신호 및 DCT 블록을 나타내는 Y 의 DCT 블록을 나타내고, 그 각각은 DC 성분을 갖는다. 도 4 에 도시된 바와 같이, 4 개의 Y 블록들은 스캔 순서로 Y0, Y1, Y2, 및 Y3 라 불리고, 이 순서로 DC-예측된다. 2 개의 Cb 블록들은 스캔 순서로 Cb0 및 Cb1 라 불리고, 이 순서로 DC-예측된다. 2 개의 Cr 블록들은 유사하게 스캔 순서로 Cr0 및 Cr1 으로 불리고, 이 순서로 DC-예측된다. "프리딕티 블록 (predictee block)" 으로서 지칭된 매크로블록의 제 1 블록들 Y0, Cb0, 및 Cr0 은, 스캔 순서에서 예측원 매크로블록 직전의 이전 매크로블록 ("프리딕티 매크로블록" 으로 지칭됨) 의 Y3, Cb1, 및 Cr1 로부터 예측된다. 이하의 설명에서, 매크로블록에서의 인트라-매크로블록 DC 예측은 "인트라-DC 예측" 으로 지칭되고, 매크로블록들 사이의 인터-매크로블록 DC 예측은 "인터-DC 예측" 으로 지칭된다.
인터-DC 예측은 동일한 슬라이스에 포함된 매크로블록들 사이에서만 수행된다. 이해를 용이하게 하게 위해, 이하의 설명은 슬라이스가 가장 큰 경우에 관련된다. 즉, 동일한 로우에서 매크로블록들은 동일한 슬라이스에 속하는 것으로 가정된다. 슬라이스의 선두에 있는 매크로블록 또는 로우의 가장 좌측에 있는 매크로블록이 어떠한 예측원 매크로블록도 가지지 않기 때문에, DC 는 0 으로부터 예측된다.
3. 특정 버짓 할당 방법
레이트 제어부 (5) 가 레이트 제어를 수행할 때 고려되는 각각의 세그먼트로의 코드 버짓의 할당, 및 그 보정 방법이 MPEG-2 에 따른 I-프레임의 간략화된 인코딩의 경우를 이용하여 이하 설명될 것이다. 본 실시형태의 버짓 할당 방법은 이하의 특성에 기초한다. 1. 레이트 제어는 보증될 수 있다. 더욱 상세하게는, 의도된 코드 길이보다 길지 않은 스트림이 이미지 데이터의 복잡도에 관계없이 언제나 출력되기 때문에, 레이트 제어는 실패하지 않을 것이다. 2. 버짓은 매크로블록들에 대해 공평하게 할당될 수 있다. 평균하여, 각각의 매크로블록의 할당된 레이트, 즉, 버짓은 매크로블록이 오픈 또는 클로즈드인지가 세그먼트들 사이에서 실질적으로 동일할 수 있다. 본 명세서에 이용된 용어 "코드 버짓", 또는 "버짓" 이 "최대 할당가능한 레이트" 또는 단순히 "할당가능한 레이트" 를 의미하는 것으로 의도된다는 것에 유의해야만 한다.
본 실시형태에서, 설명을 간략화하기 위해, MPEG-2 컴플라이언트 I-프레임이 이하와 같이 간략화된 압축 방법이 적용된다. (1) MPEG-2 의 헤더들 (예를 들어, 시퀀스 헤더, 픽쳐 헤더, 슬레이스 헤더, 매크로블록 헤더) 로 인해서 어떠한 오버헤드도 없다고 가정된다. 또한, 최종 인코딩된 스트림이 매크로블록들의 코드들에 의해서만 구성된다고 가정되고, 매크로블록들의 코드들은 DC (인트라, 인터) 및 AC 코드에 의해서만 구성된다. (2) 인터-DC 예측 이외의 의존관계 (예를 들어, 양자화 스케일, 코드의 비트 얼라인먼트, 슬라이스의 제 1 매크로블록의 오버헤드) 은 고려되지 않는다. (1) 에서의 간략화는 사전에 이미지 데이터 전체의 버짓으로부터 고정-길이 오버헤드를 감산함으로써 실현된다. (2) 에서의 간략화는, 이 방법이 MPEG-2 컴플라이언트 I-프레임으로 용이하게 확대될 수 있다는 것을 나타내도록 이하 검토될 것이다.
최종 스트림 크기에 대한 버짓, 즉, 이미지 데이터 전체의 레이트가 세그먼트의 레이트에 대한 버짓 Bpicture 로 주어질 때, Bsegment 는 이하의 식에 따라서 산출될 수 있다.
[수학식 1]
Figure pct00001
여기서, NMBs in picture 및 NMBs in segment 는 이미지 데이터 전체에 포함된 매크로블록들의 수 및 세그먼트에 포함된 매크로블록들의 수를 각각 나타낸다. 전술한 식에서,
[수학식 2]
Figure pct00002
정수가 아닌 경우, 레이트 제어를 보증하기 위해, 절단값 (truncated value) 은 세그먼트의 버짓이 된다. 절단의 경우, 남아있는 버짓을 낭비하지 않기 위해, 남아있는 버짓은 몇몇 세그먼트에 할당될 수도 있다.
소정의 세그먼트가 레이트 제어부 (5) 에 의해 레이트-제어되는 경우, 인코딩부 (4) 에 의해 실행된 양자화 프로세싱에 이용되는 양자화 파라미터를 변경시킴으로써, 이하 설명되는 것과 같이, 세그먼트의 실제 레이트 Ssegment 또는 보정 레이트 S'segment 는 이하 설명되는 것과 같이 세그먼트에 할당된 버짓 Bsegment 또는 보정 버짓 B'segment 과 동일하게 되도록 제어된다. 소정의 세그먼트의 인코딩 이후에, 남아있는 버짓 (B'segment - S'segment) 은 후속 세그먼트들에 할당될 수도 있다.
오픈 매크로블록들의 수는 세그먼트들의 인코딩이 진행됨에 따라 변화된다. 소정의 시점에서 오픈 매크로블록들의 수가 NopenMBs 로 표현되는 경우, 인코딩 이전의 NopenMBs=0 이 시작된다. 소정의 세그먼트가 인코딩되는 매번, NopenMBs 는 증가되고, 감소되거나 변화하지 않는다. 이미지 데이터 내의 모든 매크로블록들이 인코딩되는 경우, NopenMBs=0 이다.
소정의 세그먼트의 인코딩 이후에 오픈 매크로블록들의 수의 변화
Figure pct00003
NopenMBs 는 이하의 식으로 정의된다.
[수학식 3]
Figure pct00004
여기서, NopenMBs 및 N'openMBs 는 세그먼트의 인코딩 이전 및 이후에 오픈 매크로블록들의 수를 각각 나타낸다. 세그먼트에 속하는 매크로블록들의 수가 NMBs in segment 이기 때문에, 이하의 식이 성립된다.
[수학식 4]
Figure pct00005
세그먼트에 할당된 보정된 버짓 B'segment 는 이하의
Figure pct00006
NopenMBs 를 이용하여 이하의 식으로 정의된다.
[수학식 5]
Figure pct00007
여기서,
Figure pct00008
은 오픈 매크로블록의 오버헤드의 평균 레이트를 나타낸다. 소정의 매크로블록에 대해, 오픈 매크로블록의 오버헤드의 레이트 OopenMB 는 인터 DC-예측의 최대 레이트 max[Sinter DC pred .] 와 실제 인터 DC-예측의 레이트 Sinter DC pred . 사이의 차이로서 이하의 식으로 정의된다.
[수학식 6]
Figure pct00009
Figure pct00010
은 DC-예측의 평균 레이트
Figure pct00011
를 이용하여 이하와 같이 표현될 수 있다.
[수학식 7]
Figure pct00012
평균 레이트는 통상적인 이미지 데이터의 평균값을 산출함으로써 정적으로 추정되거나 또는 인코딩중인 이미지 데이터로부터 동적으로 추정될 수도 있다. 이하에서, 설명의 간략화를 위해, 평균 레이트는 변화하지 않는 것으로 가정된다.
모든 세그먼트들에 대해
Figure pct00013
NopenMBs 를 더하는 것이 0 을 결과로 초래하기 때문에, 모든 세그먼트들에 대한 보정 이후의 버짓의 합계 B'segment 는 모든 세그먼트들에 대한 보정 이전의 버짓 Bsegment 의 합계와 동일하다. 즉, 세그먼트의 버짓 Bsegment 이 B'segment 로 보정된다고 해도, 이미지 데이터 전체에 대한 버짓은 변경되지 않는다.
이미지 데이터 전체에 대한 레이트 제어를 보증하기 위해, 세그먼트-단위 레이트 제어가 보증될 필요가 있다. 세그먼트-단위 레이트 제어를 보증하기 위해, 세그먼트의 레이트가 최악의 경우 B'segment 이하가 되도록, 레이트 제어부 (5) 는 레이트 제어를 수행할 수 있어야만 한다. B'segment 는,
Figure pct00014
Nopen MBs 가 이하와 같이 최소값 (-Nopen MBs in segment) 가 될 때, 최소값 min[B'segment] 이 된다.
[수학식 8]
Figure pct00015
세그먼트를 인코딩하는데 필요한 최소 레이트는 S'AC - dropped segment 의 최대값 max[S'AC-dropped segment] 로서 산출될 수 있고, 여기서 세그먼트에 속하는 매크로블록들 내의 모든 AC 성분들이 0 으로 설정될 때 S'AC - dropped segment 는 세그먼트의 보정 레이트이다. 예를 들어, max[S'AC - dropped segment] 는, I-프레임이 MPEG-2 또는 다른 것 중 하나에 따르는 경우, 정적으로 산출될 수 있다. 전술한 제약을 이용함으로써, 세그먼트의 레이트 제어를 보증하기 위한 조건은 이하와 같이 표현될 수 있다.
[수학식 9]
Figure pct00016
max[SAC - dropped segment] 는, 매크로블록 내의 인트라 DC 예측의 나머지들을 0 으로 설정함으로써 (즉, 매크로블록 내의 동일한 DC 를 이용함으로써) 더 작게 형성될 수 있다. 이하의 설명에서, 이러한 조건은 레이트 제어를 보증하기 위해 충족하도록 가정된다.
소정의 세그먼트의 보정된 레이트 S'segment 는, 그 세그먼트에 속하는 모든 클로즈드 매크로블록에 대한 클로즈드 매크로블록 SMB 의 레이트의 합계와 그 세그먼트에 속하는 모든 오픈 매크로블록들에 대한 오픈 매크로블록 S'MB 의 보정된 레이트의 합계를 가산함으로써 획득된 값으로부터, 그 세그먼트를 인코딩함으로써 클로즈드되는 새롭게 확인된 모든 매크로블록들에 대한 오픈 매크로블록 오버헤드 Oopen MB 의 합계를 감산함으로써 획득된 값으로서 정의된다. 따라서, 이하의 식으로 표현될 수 있다.
[수학식 10]
Figure pct00017
여기서, 오픈 매크로블록 오버헤드 Oopen MB 은, 전술한 바와 같이, 인터 DC 예측의 최대 레이트 max[Sinter DC pred .] 와 인터 DC 예측의 실제 레이트 Sinter DC pred . (다시 기술됨) 사이의 차이이다.
[수학식 11]
Figure pct00018
이하의 식에 나타난 바와 같이, 클로즈드 매크로블록의 레이트 SMB 는 인터 DC 예측의 레이트 Sinter DC pred ., 인트라 DC 예측의 레이트 Sintra DC pred . 및 AC 성분의 레이트 SAC 를 함께 가산함으로써 획득된다.
[수학식 12]
Figure pct00019
한편, 이하의 식에 나타난 바와 같이, 오픈 매크로블록의 보정된 레이트 S'MB 는 인터 DC 예측의 최대 레이트 max[Sinter DC pred .], 인트라 DC 예측의 레이트 Sintra DC pred ., 및 AC 성분의 레이트 SAC 를 함께 가산함으로써 획득된다.
[수학식 13]
Figure pct00020
오픈 매크로블록의 보정된 레이트 S'MB 는, 매크로블록이 미래에 클로즈드될 때 알려지게 되는 인터 DC 예측 Sinter DC pred . 의 실제 레이트를 이용함으로써 이하와같이 표현된다.
[수학식 14]
Figure pct00021
따라서,
Figure pct00022
Nopen MBs 오픈 매크로블록의 오픈 매크로블록 오버헤드 Oopen MB 가 이 세그먼트에 가산되는 것이 명백하다. 이들 오픈 매크로블록 오버헤드는 평균적으로 avg[Oopen MB] 에 의해 근사화될 수 있다. 따라서, 버짓에 avg[Oopen MB]
Figure pct00023
Nopen MBs 를 가산하여 세그먼트에 대한 버짓을 보정함으로써, 오버헤드는 상쇄될 수 있고, 세그먼트들 중에서 버짓의 할당은 공평하게 이루어질 수 있다.
세그먼트에 대한 버짓을 보정하지 않도록 하기 위해 오픈 매크로블록의 레이트로서 보정된 레이트 S'MB 대신에 평균적으로 추정된 레이트를 이용함으로써, 세그먼트들 중 버짓의 할당이 공평하게 이루어질 수 있다. 그러나, 전술한 방법이 이용되는 경우, 레이트 제어는 보증될 수 없다. 인터 DC 예측의 레이트가 이후에 발견될 때, 그 레이트는 평균 레이트보다 더 크게 될 수도 있고, 이 경우, 그 차이는 남아있는 버짓보다 크게 되기 때문이다.
최대, 즉, 가장 조악한 양자화 파라미터가 이용된다고 할지라도, 세그먼트의 보정된 레이트 S'segment 는 세그먼트의 보정된 버짓 B'segment 보다 크게 되고, 그 레이트는, 예를 들어, 이하와 같이 작게 되어 레이트 제어를 보증한다. 모든 AC 들이 0 으로 되는 경우, 그때 보정된 레이트는 S'AC - dropped segment 가 되고, 이는 B'segment 보다 확실히 작다. 이는, 이하의 관계식이 참으로 성립하기 때문이다.
[수학식 15]
Figure pct00024
4. 보정된 버짓을 이용한 레이트 제어
레이트 제어부 (5) 에 의해 실행된 전술한 것과 같이 보정된 버짓을 이용한 레이트 제어는 도 5 에 나타난 플로우차트를 참조하여 설명될 것이다.
먼저, 단계 S101 에서, 오픈 매크로블록들의 수 Nopen MBs 가 0 으로 설정된다. 단계 S102 에서, 후속 세그먼트가 존재하는지의 여부를 결정한다. 후속 세그먼트가 존재하지 않는다고 결정하는 경우, 프로세싱은 단계 S103 로 진행하여 종료된다. 한편, 후속 세그먼트가 존재한다고 결정하는 경우, 그 루틴은 단계 S104 로 진행한다. 단계 S104 에서, 후속 세그먼트에 속하는 매크로블록은 인코딩된다. 매크로블록들이 인코딩되기 전후의 오픈 매크로블록들의 수는 각각 Nopen MBs, N'open MBs 이다. 단계 S105 에서, 이 세그먼트에 대해 할당된 버짓은 이하의 식에 따라서 보정된다.
[수학식 16]
Figure pct00025
여기서,
[수학식 17]
Figure pct00026
단계 S106 에서, 이 세그먼트는 세그먼트의 보정 레이트 S'segment 가 이하의 식을 충족하도록, 레이트-제어된다.
[수학식 18]
Figure pct00027
단계 S107 에서, 오픈 매크로블록들의 수 Nopen MBs 는 N'open MBs 로 대체된다. 다음으로, 단계 S102 로 돌아가서, 후속 세그먼트들이 존재하는 한, 유사한 프로세싱이 반복된다.
전술한 바와 같이, 이미지 인코딩 장치 (10) 의 본 실시형태가 예측량이 알려져 있지 않은 오픈 매크로블록에 대해, 인코딩 도중에 가능한 최대 레이트가 한번 할당된 후에 예측 레이트가 알려지게 될 때마다 레이트를 적절히 업데이트할 수 있기 때문에, 레이트 제어의 실패는 회피될 수 있고, 할당된 레이트는 적절하게 보정되기 때문에, 예측 코드의 레이트는 공평하게 그리고 안정적으로 할당될 수 있다. 또한, DC 예측에 공평하고 안정적으로 레이트를 할당하기 위해 DC 예측에 본 발명을 적용함으로써, 예를 들어, DC 예측에서 희생될 가능성이 있는 AC 성분에 할당되는 레이트는 안전하게 확보될 수 있고, 2 차원 정밀 변화는 명백하게 표현될 수 있다. 또한, 본 발명은 DC 예측에 적용될 수 있을 뿐만 아니라 AC 예측과 같은 다양한 예측에도 적용될 수 있다.
공간-주파수 변환이 DCT 변환에 의해 실행되고, 복수의 매크로블록들이 보정되고 할당될 레이트에 근거하여 양자화될 때 인코딩부에 의해 이용된 양자화 스케일을 레이트 제어부가 결정하도록 구성될 수도 있다. 대안적으로, 본 발명에 따른 대안적인 모드로서, 이미지 데이터 전체로서 매크로블록들의 DC 성분들만이 먼저 획득되고, DC 예측과 관련된 레이트가 사전에 산출되며, 그후, 레이트 제어가 매크로블록 셔플링을 통해서 AC 성분에 대해 수행되는 것으로 인식될 수 있다.
또한, 매크로블록들은 매크로블록 셔플링을 수행함으로써 의사-랜덤 방식으로 추출되고 인코딩은 세그먼트로서 적은 수의 매크로블록들의 유닛에 의해 제어되기 때문에, 레이트 제어는 고속으로 수행될 수 있고, 이미지 전체의 품질은 균일하게 유지되며, 필요한 회로 스케일은 작게 형성될 수 있다.
전술한 바와 같이, 이미지 인코딩 장치 (10) 의 본 실시형태는, 오픈 매크로블록의 레이트가 가능한 최대 레이트가 되는 것으로 추정되어 슬라이스 구조를 변화시키지 않고 연속적으로 업데이트되는 레이트 보정을 수행할 수 있으면서, 이미지 전체의 품질이 매크로블록 셔플링에 의해 균일하게 유지되어, 레이트 제어는 고속에서 실행될 수 있고 필요한 회로 스케일은 작게 될 수 있다.
5. 인터-DC 예측 이외의 의존관계
레이트 제어부 (5) 가 레이트 제어를 수행할 때 고려되는 인터 DC 예측 이외의 의존관계, 예를 들어, 양자화 스케일, 코드의 비트 얼라인먼트, 및 슬라이스 내의 제 1 매크로블록의 오버헤드가 이하 설명될 것이다.
(1) 양자화 스케일
소정의 매크로블록의 양자화 스케일은, 그 매크로블록의 예측원 매크로블록의 양자화 스케일과 동일한 경우, 생략될 수 있다. 더욱 구체적으로, MPEG-2 에서, 양자화 스케일이 변화되는지의 여부가 매크로블록의 헤더의 플래그에 의해 통지된다. 오픈 매크로블록에 대해, 그 예측원 매크로블록의 양자화 스케일은 알려지지 않고, 보정 레이트는 가능한 최대 레이트를 이용하여 산출될 필요가 있다. 할당된 레이트를 보정함으로써, 즉, 인터 DC 예측의 보정과 유사한 방법을 이용하여 양자 스케일에 대한 버짓을 보정함으로써, 세그먼트들 중의 버짓들의 할당이 공평하게 이루어질 수 있다.
(2) 코드들의 비트 얼라인먼트
앞선 설명에서, 매크로블록 내의 DC 성분 및 AC 성분의 레이트들이 바이트단위이지만 실질적으로 이들은 비트단위인 것으로 가정하는 설명이 제공된다. 따라서, 동일한 슬라이스에 속하는 매크로블록들의 코드들은 매크로블록들 사이에서 바이트-배열되지 않는다. 여기서, 바이트-배열은, 후속하는 코드가 바이트 바운더리에서 시작하도록, 비트들이 채워진 것을 나타낸다. 소정의 슬라이스에서 비트 채움을 위해 가산되는 비트들의 수는, 슬라이스에 속하는 모든 매크로블록들의 비트단위 레이트가 알려질 때까지 알려지지 않는다. 바이트단위 레이트 SMB 로의 매크로블록의 비트단위 레이트 sMB 의 의사 변환은 이하의 식에 따라서 행해진다.
[수학식 19]
Figure pct00028
여기서, Sslice 는 슬라이스의 비트단위 레이트이고, 지금까지 인코딩된 슬라이스에 속하는 매크로블록들의 전체 비트단위 레이트를 나타낸다. 유사하게, 매크로블록의 DC 성분들과 AC 성분들의 레이트는 의사 방식으로 바이트 단위로 산출될 수 있다. 이러한 방법을 통해서, 레이트가 언제나 바이트로 반올림함으로써 평가되기 때문에, 레이트는 보수적으로 추정될 수 있다. 따라서, 레이트 제어는 보증될 수 있다. 또한, 이 방법을 통해서, 매크로블록의 바이트단위 코드 길이는 실제보다 더 작게 또는 더 크게 되도록 추정될 수도 있다. 그러나, 복수의 매크로블록들이 일 세그먼트 내에 어셈블링되기 때문에, 이러한 에러들은 평균적으로 상쇄된다.
(3) 슬라이스에서 제 1 매크로블록의 오버헤드
슬라이스내의 제 1 매크로블록에 대해, 어떠한 예측원 매크로블록도 없고 예측이 수행될 수 없기 때문에, DC 성분들은 언제나 0 으로부터 예측된다. 따라서, 슬라이스 내의 제 1 매크로블록의 평균 레이트가 슬라이스 내의 후속 매크로블록들의 각각의 평균 레이트보다 더 큰 경향이 있다. 이러한 오버헤드를 상쇄시키기 위해, 매크로블록들 중 버짓의 할당은, 슬라이스 내의 제 1 매크로블록에 할당된 버짓이 슬라이스 내의 후속 매크로블록들 각각에 할당된 버짓보다 크게 되도록, 변화될 수도 있다.
전술한 바와 같이, 이미지 인코딩 장치의 본 실시형태가 세그먼트로서 적은 수의 매크로블록들의 단위로 인코딩부를 제어하기 때문에, 레이트 제어가 촉진되어, 필요한 회로 스케일이 감소될 수 있다. 또한, 매크로블록들이 셔플링에 의해 스크린 상에서 의사-랜덤 위치들로부터 추출되기 때문에, 이미지 전체의 이미지 품질들이 균일하게 될 수 있고 개선될 수 있다. 예를 들어, 엔트로피와 관련된 큰 변동을 갖는 이미지 데이터가 인코딩되지만, 출력 비트 스트림의 크기가 균일화될 수 있기 때문에, 버퍼의 제약이 깨질 가능성은 없다. 따라서, 다수의 스레드들을 이용하여 복수의 프레임들을 동시에 인코딩하고 이들을 이후의 스트림으로 어셈블링할 가능성이 있다. 동일한 이유로, 인코딩 이후에 컷 및 삽입과 같은 편집도 가능하다.
6. 인코딩된 스트림의 재순서화를 위한 중간 버퍼
최종 스트림 크기에 비례하여 중간 (interim) 결과를 버퍼, 즉, 중간 버퍼에 저장하고 코드들의 재순서화 이후에 최종 스트림을 출력하는 방법이 설명될 것이다. 이 방법은, 필요한 버퍼가 각각의 매크로블록에 대한 매크로블록의 코드들을 저장하기 위한 버퍼를 준비하는 방법과 비교하여 장점을 덜 갖는다. 이 구성의 예는 이하의 실시형태에 설명될 것이다.
제 2 실시형태
본 발명에 따른 이미지 인코딩 장치의 제 2 실시형태는 도 6 을 참조하여 설명될 것이다. 도 6 에 도시된 바와 같이, 이미지 인코딩 장치 (20) 의 본 실시형태는, 중간 스트림 버퍼 (8) 가 인코딩부 (4) 와 재순서화부 (6) 사이에 제공되는 것을 제외하고는 전술한 제 1 실시형태의 이미지 인코딩 장치와 실질적으로 유사하다. 동일한 참조 부호들이 유사한 구성에 할당되고, 그 설명은 생략될 것이다.
중간 스트림 버퍼 (8) 의 구조의 예는 도 7 에 예시된다. 인코딩된 매크로블록의 데이터가, 스캔 순서로 액세스될 수 있는 패킹된 매크로블록으로서 저장된다. 패킹된 매크로블록은 인코딩되지 않은 DC 성분들 및 양자화 스케일뿐만 아니라 가변 길이를 갖는 패킹된 AC 코드들에 대한 포인터를 포함한다. 도 7 에서, 패킹된 매크로블록은 구부러진 화살표에 의해 쉐이디드 사각형 및 포인터에 의해 표시된다.
패킹된 매크로블록들은 DC 예측에 대한 스캔 순서 및 코드들의 재순서화에 액세스될 수 있는 테이블 얼라인먼트에 따라서 배열된다. 중간 스트림 버퍼 (8) 에서, 코드들은 셔플링되는 순서로 저장된다. 패킹된 AC 코드들이 매크로블록에 따라서 상이한 길이들을 갖기 때문에, 메모리 블록은 중간 스트림 버퍼 (8) 로부터 동적으로 할당된다. MPEG-2 스트림에서, DC 성분들 및 AC 성분들의 코드들은 각각의 DCT 블록에 대해 대안적으로 배열되도록 요구되어, 각각의 DCT 블록의 코드에 대한 액세스가 마지막 스트림이 생성될 때 요구된다. 따라서, AC 코드 길이 및 AC 코드가 각각의 DCT 블록에 대해 저장된다. 따라서, 패킹된 AC 코드는 매크로블록에 포함된 각각의 DCT 블록들의 AC 코드들 (ac_nbits[0,...,7]) 및 실제 AC 코드들 (ac_codes[0,1,...,7]) 의 비트 길이를 포함한다.
AC 코드들이 비트단위이기 때문에, 바이트- 또는 워드- 얼라인먼트에 대한 스터핑 (stuffing) 이 패킹된 AC 코드들의 말단에 삽입된다. 중간 스트림 버퍼의 바이트단위 크기 Bintermediate 는 예를 들어 이하의 조건을 충족하도록 요구된다.
[수학식 20]
Figure pct00029
여기서, Bpicture 는 이미지 데이터 전체의 버짓을 나타낸다. NMBs 는 이미지 데이터 내에 포함된 매크로블록들의 수를 나타낸다. Nblock in MB 는 매크로블록 내에 포함된 DCT 블록들의 수를 나타내고, 색도 서브샘플링이 4:2:2 인 경우에 Nblocks in MB =8 이다. 우측의 두 번째 항은 ac_nbits[...] 및 스터핑으로 인한 오버헤드를 나타낸다. 여기서, ac_nbits[i] 는 16 비트, 즉, 2 바이트가 되는 것으로 가정된다. 또한, 스터핑은 워드 바운더리에 대한 스터핑인 것으로 가정된다. Bintermediate 는 중간 버퍼 등에 저장되지 않은 다른 헤더들의 오버헤드의 크기를 감산함으로써 더 작게 될 수 있다.
각각의 매크로블록에 대한 매크로블록의 종래-기술 저장 코드들의 버퍼를 통해서, 매크로블록의 최대 레이트가 각각의 매크로블록의 버퍼에 할당되고; 그러나, 본 발명에 따른 이미지 인코딩 장치에서, 필요한 버퍼 용량은 이미지 데이터 전체의 할당된 레이트와 매크로블록들의 전체 수에 고정-길이 오버헤드를 승산함으로써 획득된 값의 합계로 감소될 수 있다.
전술한 바와 같이, 이미지 인코딩 장치의 본 실시형태에 따르면, 이미지 인코딩 장치의 제 1 실시형태의 특징뿐만 아니라, 필요한 버퍼 용량은 각각의 매크로블록들을 저장하는 버퍼를 준비하는 방법보다 작게 이루어질 수 있다.
본 발명의 실시형태들이 설명되었지만, 본 발명은 전술한 실시형태들로만 제한되지 않는다. 또한, 본 발명에 의해 발생된 가장 적절한 이점들은 본 발명의 실시형태들에만 열거되고, 본 발명에 의한 이점들은 본 발명의 실시형태들에 설명된 이점들로만 제한되지 않는다.
예를 들어, 전술한 실시형태에서, MPEG-2 에 따른 인코딩 방법이 설명되지만, 본 발명은 이에 제한되지 않는다. 본 발명은, 유사한 매크로블록들로 구성되는 한, JPEG 를 포함하는 MPEG-2 DC 예측과 같은 예측을 이용하여 인코딩 방법에 널리 적용될 수 있고, 게다가, 인트라-프레임 코딩에 대해서 뿐만이 아니라 심지어 MPEG-2 에 따른 인코딩 방법과 같은 인터-프레임 코딩 방법에 따른 인코딩 프로세스에 대해서도 적용될 수 있고; 예를 들어, 본 발명은 인트라-슬라이스 프로세싱과 같은 인트라-프레임 코딩 프로세싱의 일부에 적용될 수 있다.
1. 입력부
2. 블로킹 처리부
3. 셔플링부
4. 인코딩부
5. 레이트 제어부
6. 재순서화부
7. 출력부
8. 중간 스트림 버퍼
10. 이미지 인코딩 장치의 제 1 실시형태
20. 이미지 인코딩 장치의 제 2 실시형태
101. 입력부
102. 블로킹 처리부
103. 인코딩부
105. 레이트 제어부
106. 출력부
100. 종래 기술의 이미지 인코딩 장치

Claims (17)

  1. 이미지를 나타내는 이미지 데이터를 인코딩하기 위한 이미지 인코딩 장치로서,
    상기 이미지 데이터를 구성하는 복수의 매크로블록들을 상기 이미지 내의 각각의 위치들로부터 수집하고 셔플링하는 셔플링부 (shuffling portion);
    상기 셔플링부에 의해 수집되고 셔플링된 상기 복수의 매크로블록들에 대해 기본 단위로서 공간-주파수 변환 및 엔트로피 인코딩을 수행하는 인코딩부; 및
    상기 복수의 매크로블록들을 기본 단위로 이용하여, 상기 인코딩 이후의 상기 복수의 매크로블록들의 레이트를 조절하도록 상기 인코딩부를 제어하는 레이트 제어부를 포함하고,
    상기 레이트 제어부는, 상기 복수의 매크로블록들의 각각의 매크로블록에 대해 상기 각각의 매크로블록의 예측원 매크로블록으로부터 예측되는 예측량이 알려져 있는지의 여부를 판별하고, 상기 복수의 매크로블록들을 포함하는 상기 이미지 데이터 전체에서 이미 인코딩된 매크로블록들 중 알려지지 않은 예측량을 갖는 것으로서 각각 판별된 매크로블록들의 수에 기초하여 레이트 보정을 수행함으로써 상기 인코딩부를 제어하는, 이미지 인코딩 장치.
  2. 제 1 항에 있어서,
    관련 예측원 매크로블록으로부터 예측되는 예측량이 알려지지 않은 인코딩된 매크로블록은 오픈 매크로블록으로서 정의되고,
    상기 레이트 제어부는,
    상기 복수의 매크로블록들의 매크로블록들의 수를 상기 이미지 데이터의 매크로블록들의 수로 제산하여 획득된 값에 상기 이미지 데이터의 할당된 레이트를 승산함으로써 상기 복수의 매크로블록들의 할당된 레이트를 산출하고,
    상기 오픈 매크로블록의 예측 코드의 최대 레이트와 상기 예측 코드의 평균 레이트 사이의 차이에, 상기 복수의 매크로블록들이 상기 인코딩부에 의해 인코딩되기 전후의 상기 이미지 데이터 전체의 상기 오픈 매크로블록들의 수 사이의 차이를 승산함으로써 상기 복수의 매크로블록들의 상기 할당된 레이트에 대한 보정을 산출하고,
    상기 복수의 매크로블록들의 상기 할당된 레이트에 상기 보정을 가산함으로써 보정되고 할당된 레이트를 산출하고,
    상기 복수의 매크로블록들의 상기 인코딩 이후의 레이트가 상기 보정되고 할당된 레이트 이하가 되도록 상기 인코딩부를 제어하는, 이미지 인코딩 장치.
  3. 제 2 항에 있어서,
    상기 예측 코드는 DC 예측의 코드를 포함하는, 이미지 인코딩 장치.
  4. 제 2 항에 있어서,
    상기 공간-주파수 변환은 DCT 변환에 의해 실행되고,
    상기 레이트 제어부는, 상기 복수의 매크로블록들이 상기 인코딩부에 의해 상기 보정되고 할당된 레이트에 근거하여 양자화될 때 이용된 양자화 스케일을 결정하는, 이미지 인코딩 장치.
  5. 제 1 항에 있어서,
    상기 이미지 데이터는 일렬로 배열된 제 2 복수의 매크로블록들에 의해 구성된 슬라이스 레이어를 포함하고,
    상기 셔플링부는, 상기 제 2 복수의 매크로블록들이 셔플링될 때 상기 슬라이스 레이어에서의 스캔 순서를 포함하는 상기 제 2 복수의 매크로블록들의 위치 정보를 생성하고,
    상기 레이트 제어부는,
    상기 슬라이스 레이어를 구성하는 일렬로 배열된 상기 제 2 복수의 매크로블록들의 매크로블록의 비트단위 레이트 및 상기 슬라이스 레이어를 구성하는 일렬로 배열된 상기 제 2 복수의 매크로블록들에서의 인코딩된 매크로블록들과 이와 관련된 오버헤드의 비트단위 전체 레이트의 합계를 8 로 제산하고 이에 따라 획득된 몫을 정수로 반올림함으로써 획득된 값으로부터, 상기 슬라이스 레이어를 구성하는 일렬로 배열된 상기 제 2 복수의 매크로블록들에서의 인코딩된 매크로블록들과 이와 관련된 오버헤드의 비트단위 전체 레이트를 8 로 제산하고 이렇게 획득된 몫을 정수로 반올림함으로써 획득된 값을 감산함으로써, 상기 슬라이스 레이어를 구성하는 일렬로 배열된 상기 제 2 복수의 매크로블록들의 매크로블록의 레이트를 바이트 단위로 산출하는, 이미지 인코딩 장치.
  6. 제 5 항에 있어서,
    상기 레이트 제어부는, 상기 슬라이스 레이어의 선두에 있는 매크로블록의 할당된 레이트가 상기 슬라이스 레이어의 다른 매크로블록들의 할당된 레이트보다 크게 되도록, 상기 슬라이스 레이어 내의 각각의 매크로블록의 할당된 레이트를 산출하는, 이미지 인코딩 장치.
  7. 제 1 항에 있어서,
    상기 인코딩부에 의해 인코딩된 코딩된 데이터를 일시적으로 저장하기 위한 중간 버퍼부; 및
    상기 중간 버퍼부에 저장된 상기 코딩된 데이터를 스캔 순서로 판독하여 상기 코딩된 데이터를 출력함으로써 상기 셔플링부에 의해 셔플링되기 전의 순서로 배열되도록 상기 코딩된 데이터를 재순서화 (reordering) 하기 위한 재순서화부를 더 포함하고,
    상기 중간 버퍼부는, 상기 매크로블록들의 전체 수에 고정-길이 오버헤드를 승산함으로써 획득된 값과 상기 이미지 데이터 전체의 할당된 레이트의 합계와 동일한 용량을 갖는, 이미지 인코딩 장치.
  8. 제 1 항에 있어서,
    상기 인코딩부는 JPEG 및 MPEG-2 중 적어도 하나에 따라서 상기 복수의 매크로블록들을 인코딩하는, 이미지 인코딩 장치.
  9. 제 1 항에 있어서,
    상기 인코딩부는 인터-프레임 코딩 방법에 따라서 상기 복수의 매크로블록들을 인코딩하는, 이미지 인코딩 장치.
  10. 이미지를 나타내는 이미지 데이터를 인코딩하기 위한 이미지 인코딩 방법으로서,
    상기 이미지 내의 각각의 위치들로부터 상기 이미지 데이터를 구성하는 복수의 매크로블록들을 수집하고 셔플링하는 셔플링 단계;
    상기 셔플링 단계에서 수집되고 셔플링된 상기 복수의 매크로블록들에 대해 기본 단위로서 공간-주파수 변환 및 엔트로피 인코딩을 수행하는 인코딩 단계; 및
    상기 복수의 매크로블록들을 기본 단위로서 이용하여, 상기 인코딩 이후의 상기 복수의 매크로블록들의 레이트를 조절하도록 상기 인코딩 단계를 제어하는 레이트 제어 단계를 포함하고,
    상기 레이트 제어 단계는, 상기 복수의 매크로블록들의 각각의 매크로블록에 대해 상기 각각의 매크로블록의 예측원 매크로블록으로부터 예측되는 예측량이 알려져 있는지의 여부를 판별하는 단계, 및 상기 복수의 매크로블록들을 포함하는 상기 이미지 데이터 전체에서 이미 인코딩된 매크로블록들 중 알려지지 않은 예측량을 갖는 것으로서 각각 판별된 매크로블록들의 수에 기초하여 레이트 보정을 수행함으로써 상기 인코딩 단계를 제어하는 단계를 갖는, 이미지 인코딩 방법.
  11. 제 10 항에 있어서,
    관련 예측원 매크로블록으로부터 예측되는 예측량이 알려지지 않은 인코딩된 매크로블록은 오픈 매크로블록으로서 정의되고,
    상기 레이트 제어 단계는,
    상기 복수의 매크로블록들 내의 매크로블록들의 수를 상기 이미지 데이터 내에서 매크로블록들의 수로 제산함으로써 획득된 값에 상기 이미지 데이터의 할당된 레이트를 승산함으로써 상기 복수의 매크로블록들의 할당된 레이트를 산출하는 단계,
    상기 오픈 매크로블록의 예측 코드의 최대 레이트와 상기 예측 코드의 평균 레이트 사이의 차이에, 상기 인코딩 단계에서 상기 복수의 매크로블록들이 인코딩되기 전후에 상기 이미지 데이터 전체의 상기 오픈 매크로블록들의 수 사이의 차이를 승산함으로써 상기 복수의 매크로블록들의 상기 할당된 레이트에 대한 보정을 산출하는 단계,
    상기 보정을 상기 복수의 매크로블록들의 상기 할당된 레이트에 가산함으로써 보정되고 할당된 레이트를 산출하는 단계, 및
    상기 복수의 매크로블록들의 상기 인코딩 이후의 레이트가 상기 보정되고 할당된 레이트 이하가 되도록 상기 인코딩 단계를 조절하는 단계를 갖는, 이미지 인코딩 방법.
  12. 제 11 항에 있어서,
    상기 예측 코드는 DC 예측의 코드를 포함하는, 이미지 인코딩 방법.
  13. 제 11 항에 있어서,
    상기 공간-주파수 변환은 DCT 변환에 의해 실행되고,
    상기 레이트 제어 단계는, 상기 보정되고 할당된 레이트에 근거하여, 상기 복수의 매크로블록들이 상기 인코딩 단계에서 양자화될 때 이용된 양자화 스케일을 결정하는 단계를 갖는, 이미지 인코딩 방법.
  14. 제 10 항에 있어서,
    상기 이미지 데이터는 일렬로 배열된 제 2 복수의 매크로블록들로 구성된 슬라이스 레이어를 포함하고,
    상기 셔플링 단계는, 상기 제 2 복수의 매크로블록들이 셔플링될 때 상기 슬라이스 레이어에서의 스캔 순서를 포함하는 상기 제 2 복수의 매크로블록들의 위치 정보를 생성하는 단계를 갖고,
    상기 레이트 제어 단계는, 상기 슬라이스 레이어를 구성하는 일렬로 배열된 상기 복수의 매크로블록들의 매크로블록의 비트단위 레이트 및 상기 슬라이스 레이어를 구성하는 일렬로 배열된 상기 복수의 매크로블록들에서의 인코딩된 매크로블록들과 이와 관련된 오버헤드의 비트단위 전체 레이트의 합계를 8 로 제산하고 이에 따라 획득된 몫을 정수로 반올림함으로써 획득된 값으로부터, 상기 슬라이스 레이어를 구성하는 일렬로 배열된 상기 복수의 매크로블록들에서의 인코딩된 매크로블록들과 이와 관련된 오버헤드의 비트단위 전체 레이트를 8 로 제산하고 이렇게 획득된 몫을 정수로 반올림함으로써 획득된 값을 감산함으로써, 상기 슬라이스 레이어를 구성하는 일렬로 배열된 상기 복수의 매크로블록들의 매크로블록의 레이트를 바이트 단위로 산출하는 단계를 포함하는, 이미지 인코딩 방법.
  15. 제 14 항에 있어서,
    상기 레이트 제어 단계는, 상기 슬라이스 레이어의 선두에 있는 매크로블록의 할당된 레이트가 상기 슬라이스 레이어의 다른 매크로블록들의 할당된 레이트보다 더 크게 되도록, 상기 슬라이스 레이어의 각각의 매크로블록의 할당된 레이트를 산출하는 단계를 갖는, 이미지 인코딩 방법.
  16. 제 10 항에 있어서,
    상기 인코딩 단계에서 인코딩된 코딩된 데이터를 일시적으로 저장하는 일시적 저장 단계; 및
    상기 일시적 저장 단계에서 저장된 상기 코딩된 데이터를 스캔 순서로 판독하여 상기 코딩된 데이터를 출력함으로써 상기 셔플링 단계에서 셔플링되기 전의 순서로 배열되도록 상기 코딩된 데이터를 재순서화하는 재순서화 단계를 더 포함하고,
    상기 일시적 저장 단계는, 상기 매크로블록들의 전체 수에 고정-길이 오버헤드를 승산함으로써 획득된 값과 상기 이미지 데이터 전체의 할당된 레이트의 합계와 동일한 용량을 갖는 버퍼 내에 상기 코딩된 데이터를 저장하는 단계를 갖는, 이미지 인코딩 방법.
  17. 이미지를 나타내는 이미지 데이터를 인코딩하도록 컴퓨터에 의해 실행가능한 이미지 인코딩 프로그램으로서,
    상기 이미지 인코딩 프로그램은:
    상기 이미지 내의 각각의 위치들로부터 상기 이미지 데이터를 구성하는 복수의 매크로블록들을 수집하고 셔플링하는 셔플링 단계;
    상기 셔플링 단계에서 수집되고 셔플링된 상기 복수의 매크로블록들에 대해 기본 단위로서 공간-주파수 변환 및 엔트로피 인코딩을 수행하는 인코딩 단계; 및
    상기 복수의 매크로블록들을 기본 단위로서 이용하여 상기 인코딩 이후에 상기 복수의 매크로블록들의 레이트를 조절하도록 상기 인코딩 단계를 제어하는 레이트 제어 단계를 포함하고,
    상기 레이트 제어 단계는, 상기 복수의 매크로블록들의 각각의 매크로블록에 대해 상기 각각의 매크로블록의 예측원 매크로블록으로부터 예측되는 예측량이 알려져 있는지의 여부를 판별하고, 상기 복수의 매크로블록들을 포함하는 상기 이미지 데이터 전체에서 이미 인코딩된 매크로블록들 중에서 알려지지 않은 예측량을 갖는 것으로서 각각 판별된 매크로블록들의 수에 기초하여 레이트 보정을 수행함으로써 상기 인코딩 단계를 제어하는 단계를 갖는, 이미지 인코딩 프로그램.
KR1020117012232A 2008-10-30 2009-10-22 이미지 인코딩 장치, 이미지 인코딩 방법, 및 이미지 인코딩 프로그램 KR20110096118A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008280228 2008-10-30
JPJP-P-2008-280228 2008-10-30

Publications (1)

Publication Number Publication Date
KR20110096118A true KR20110096118A (ko) 2011-08-29

Family

ID=41720591

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117012232A KR20110096118A (ko) 2008-10-30 2009-10-22 이미지 인코딩 장치, 이미지 인코딩 방법, 및 이미지 인코딩 프로그램

Country Status (7)

Country Link
US (1) US8731056B2 (ko)
EP (1) EP2351375A1 (ko)
JP (1) JP5335912B2 (ko)
KR (1) KR20110096118A (ko)
CN (1) CN102257819A (ko)
CA (1) CA2757789A1 (ko)
WO (1) WO2010050157A1 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5537293B2 (ja) * 2009-07-03 2014-07-02 パナソニック株式会社 画像符号化装置及び画像復号化装置
US9215473B2 (en) 2011-01-26 2015-12-15 Qualcomm Incorporated Sub-slices in video coding
US9077998B2 (en) 2011-11-04 2015-07-07 Qualcomm Incorporated Padding of segments in coded slice NAL units
US9124895B2 (en) 2011-11-04 2015-09-01 Qualcomm Incorporated Video coding with network abstraction layer units that include multiple encoded picture partitions
CN111683255B (zh) * 2012-01-20 2022-08-02 索尼公司 有效度图编码的复杂度降低
CN104620584B (zh) 2012-04-13 2019-10-18 Ge视频压缩有限责任公司 可缩放数据流及网络实体
US10003802B1 (en) 2012-04-18 2018-06-19 Matrox Graphics Inc. Motion-based adaptive quantization
US10003803B1 (en) 2012-04-18 2018-06-19 Matrox Graphics Inc. Motion-based adaptive quantization
US8873872B1 (en) * 2012-04-18 2014-10-28 Matrox Graphics Inc. Division of entropy coding in codecs
SG11201408612TA (en) 2012-06-29 2015-01-29 Fraunhofer Ges Forschung Video data stream concept
US8754791B1 (en) 2013-03-01 2014-06-17 Gurulogic Microsystems Oy Entropy modifier and method
US8933826B2 (en) 2013-03-01 2015-01-13 Gurulogic Microsystems Oy Encoder apparatus, decoder apparatus and method
CN104822067A (zh) * 2015-05-03 2015-08-05 华东理工大学 一种基于分块置乱和非线性变换的图像及视频信息隐藏方法
US9621926B1 (en) * 2015-09-25 2017-04-11 Amazon Technologies, Inc. Predictive transmitting of video stream data
CN111601109A (zh) * 2020-05-13 2020-08-28 西安万像电子科技有限公司 图像数据的处理方法、装置和系统

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5214506A (en) 1991-08-30 1993-05-25 Bell Communications Research, Inc. Low bit-rate video coding technique
US5440344A (en) * 1992-04-28 1995-08-08 Mitsubishi Denki Kabushiki Kaisha Video encoder using adjacent pixel difference for quantizer control
JPH0646395A (ja) * 1992-07-27 1994-02-18 Hitachi Ltd データ圧縮装置
DE69326878T2 (de) * 1992-12-14 2000-04-27 Canon Kk Lichtempfindliches Element mit einer mehrschichtigen Schicht mit erhöhter Wasserstoff oder/und Halogenatom Konzentration im Grenzflächenbereich benachbarter Schichten
JPH0723423A (ja) * 1993-06-16 1995-01-24 Hitachi Ltd ディジタル映像信号記録再生装置
US6674897B1 (en) * 1993-09-08 2004-01-06 Sony Corporation Picture data compression device and red data detection device
JP3336754B2 (ja) 1994-08-19 2002-10-21 ソニー株式会社 デジタルビデオ信号の記録方法及び記録装置
US5708473A (en) * 1994-08-30 1998-01-13 Hughes Aircraft Company Two stage video film compression method and system
JP3115199B2 (ja) * 1994-12-16 2000-12-04 松下電器産業株式会社 画像圧縮符号化装置
JP3854697B2 (ja) * 1997-09-16 2006-12-06 キヤノン株式会社 受信装置
JP4083302B2 (ja) * 1998-08-12 2008-04-30 株式会社東芝 動画像スクランブル/デスクランブル装置
US6934417B2 (en) 2000-12-22 2005-08-23 Texas Instruments Incorporated Transcoding scheme for assistance in image transformations

Also Published As

Publication number Publication date
US8731056B2 (en) 2014-05-20
US20110206121A1 (en) 2011-08-25
JP5335912B2 (ja) 2013-11-06
EP2351375A1 (en) 2011-08-03
JP2012507886A (ja) 2012-03-29
CN102257819A (zh) 2011-11-23
CA2757789A1 (en) 2010-05-06
WO2010050157A1 (en) 2010-05-06

Similar Documents

Publication Publication Date Title
KR20110096118A (ko) 이미지 인코딩 장치, 이미지 인코딩 방법, 및 이미지 인코딩 프로그램
KR101156996B1 (ko) 복호 장치 및 복호 방법
JP5151984B2 (ja) 動画像符号化装置
JP4109113B2 (ja) ビデオ伝送におけるビットストリーム間の切換
US8325797B2 (en) System and method of reduced-temporal-resolution update for video coding and quality control
KR20180074000A (ko) 비디오 디코딩 방법, 이를 수행하는 비디오 디코더, 비디오 인코딩 방법, 및 이를 수행하는 비디오 인코더
KR20150067157A (ko) 참조 화상 리스트 변경 정보를 조건부로 시그널링하는 기법
JPWO2007094100A1 (ja) 動画像符号化/復号化方法及び装置並びにプログラム
JP5365805B2 (ja) 動画像変換装置、動画像変換方法、および動画像変換プログラム
US20100002765A1 (en) Image encoding apparatus and method
US9113174B2 (en) Predictive coding apparatus, control method thereof, and computer program
JP3818819B2 (ja) 画像符号化方式変換装置、画像符号化方式変換方法および記録媒体
JP2008271213A (ja) 画像符号化装置
JP6874844B2 (ja) 動画像符号化装置、動画像符号化方法、及び、動画像符号化プログラム
Bharamgouda Rate control for region of interest video coding in H. 264
JP4292658B2 (ja) 画像情報変換装置及び画像情報変換方法
JPH11355774A (ja) 画像符号化装置および方法

Legal Events

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