KR100495716B1 - 화상인코딩장치와방법및화상인코딩프로그램이기록된매체 - Google Patents

화상인코딩장치와방법및화상인코딩프로그램이기록된매체 Download PDF

Info

Publication number
KR100495716B1
KR100495716B1 KR1019970709318A KR19970709318A KR100495716B1 KR 100495716 B1 KR100495716 B1 KR 100495716B1 KR 1019970709318 A KR1019970709318 A KR 1019970709318A KR 19970709318 A KR19970709318 A KR 19970709318A KR 100495716 B1 KR100495716 B1 KR 100495716B1
Authority
KR
South Korea
Prior art keywords
coding
picture
image
coded
data
Prior art date
Application number
KR1019970709318A
Other languages
English (en)
Other versions
KR19990022849A (ko
Inventor
고로 가토
간지 미하라
Original Assignee
소니 가부시끼 가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 소니 가부시끼 가이샤 filed Critical 소니 가부시끼 가이샤
Publication of KR19990022849A publication Critical patent/KR19990022849A/ko
Application granted granted Critical
Publication of KR100495716B1 publication Critical patent/KR100495716B1/ko

Links

Classifications

    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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
    • 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/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/164Feedback from the receiver or from the transmission channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • 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/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
    • 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/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving management of server-side video buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer

Abstract

본 발명은 화상 인코딩을 위한 장치 및 방법과 화상 인코딩 프로그램이 기록된 매체에 관한 것이다. 인트라-코딩된 제 1 화상, 순방향으로 예측 코딩되는 제 2 화상 및 양방향으로 예측 코딩되는 제 3 화상에 대응하는 제 1, 제 2 및 제 3 임계값 중에서 현재 코딩되는 제 1, 제 2 또는 제 3 화상에 대응하는 제 1, 제 2 또는 제 3 임계값 보다 화상 디코딩 장치의 버퍼 내 데이터 점유율이 작은 코드 발생량의 경우에, 현재 코딩되는 제 1, 제 2 또는 제 3 화상에서의 코딩 처리가 정지된다.
또한, 코딩 제어 장치(15)는 VBV 버퍼 점유율 계산 장치(43)에 의해 VBV 버퍼내 점유율을 계산하여, 코딩이 코딩 난이도 계산 장치(42)에 의해 완료되는 화상에 흐르는 화상 코딩의 난이도를 나타내는 코딩 난이도를 얻고, 화상이 코딩되었을때, VBV버퍼 점유율이 미리 결정된 점유율 결정 임계값보다 작고, 또한 코딩 난이도가 미리 결정된 표준과 부합되는 경우에 다음에 코딩되는 화상의 코딩을 정지시킨다.

Description

화상 인코딩 장치와 방법 및 화상 인코딩 프로그램이 기록된 매체{Apparatus and method for encoding images and medium in which image encoding program has been recorded}
본 발명은 화상 인코딩을 위한 장치 및 방법과 화상 인코딩 프로그램이 기록된 매체에 관한 것으로서, 특히, 화상 디코딩 장치에 압축 코딩된 화상을 전송하는 경우에 적용될 수 있다.
화상 인코딩 장치에서 코딩 및 압축된 화상 데이터를 전송하며 화상 디코딩 장치에서 디코딩 및 압축된 화상 데이터를 확장하기 위한 통신 시스템과, 압축된 화상 데이터를 기록하며 재생 시간에 확장시킨 후 압축된 화상 데이터를 출력하기 위한 압축 화상 기록 및 재생 장치에 있어서, MPEG(동영상 엑스퍼트 그룹) 표준에 의해 채택된 양방향 예측 코딩 시스템은 예를 들어 화상 데이터를 압축하기 위한 방법으로서 사용되었다. 양방향 예측 코딩 시스템에 있어서, 코딩의 효율은 양방향 예측을 사용함으로써 개선되었다. 양방향 예측 코딩 시스템에 있어서, 세 가지 형태의 코딩 즉, 인트라 프레임 코딩, 인터프레임 순방향 예측 코딩 및, 양방향 예측 코딩이 수행되며, 각각의 코딩 타입에 따른 화상들은 I 영상(인ㅌ라-코딩된 영상), P 영상(예측 코딩된 영상) 및, B 영상(양방향 예측 코딩된 영상)으로 각각 불린다.
그러나, MPEG 표준에 의해 채택된 양방향 예측 코딩 시스템을 이용하는데 화상 데이터를 압축하고 코딩하기 위한 화상 인코딩 장치에 있어서, 화상 디코딩 장치의 입력 버퍼가 화상 인코딩 장치의 측면에서 고려되는 디코딩을 확인하기 위한 버퍼, 즉, VBV(비디오 버퍼링 확인자)는 압축 및 코딩된 화상 데이터를 확장시키기 위한 화상 디코딩 장치에 의해 처리된 입력 버퍼의 용량이 파괴되지 않도록 가정되며, 화상 인코딩 장치에서 발생되는 데이터량은 VBV 버퍼의 데이터 점유율의 허용가능한 한계를 오버플로우하거나 언더플로우하지 않도록 제어된다(Ohm사에 의해 발행된 "텔레비전 아카데믹 연합 MPEG에 의한 멀티미디어" 115쪽 참조).
특히, 코딩된 데이터가 화상 인코딩 장치로부터 고정된 비트율로 전송되는 경우에, 도 1에 도시된 바와 같이, 화상 데이터는, 화상 데이터의 비트 열이 특정 비트율로 VBV 버퍼에서 입력될 때 VBV 버퍼의 데이터 점유율이 언더플로우 또는 오버플로우하지 않는 상태에서 VBV 버퍼로부터 발생된다.
화상 디코딩 장치에서, 화상 인코딩 장치로부터 전송된 비트열은 VBV 버퍼를 통해서 하나의 장치로서 하나의 프레임의 각 화상 데이터에 대해서 디코딩된다. 따라서, 화상 데이터 인코딩 장치로부터 전송된 코딩된 데이터의 비터율이 일정하다 할지라도, 각각 다른 데이터 크기를 갖는 영상이 확실히 디코딩될 수 있다. 예를 들어, 인트라 프레임 화상 데이터(즉, 인트라-코딩된 I 영상)를 이용하여 코딩된 프레임은 일시적으로 앞서며 뒤지는 프레임들로부터 이동 보상을 이용하여 코딩된 프레임과 비교해서 프레임당 더 많은 코드량을 갖는다. 그러나, 각각의 영상은 디코딩이 VBV 버퍼 언더플로우 또는 오버플로우가 없이 수행되면 확실히 디코딩될 수 있다.
도 1에서, 각각의 라인 세그먼트 x의 경사는 전송되는 데이터열의 고정된 결정된 비트율을 도시하며, 각각의 라인 세그먼트 x의 각각의 위치 x1은 VBV 버퍼내 데이터 점유율을 도시한다. 또한, 라인 세그먼트 y는 데이터이 한 프레임이 I 영상, B 영상 및 P 영상으로서 VBV 버퍼로부터 판독되는 상태를 도시하여, VBV 버퍼의 데이터 점유율은 빨리 감소한다.
그러나, 도 2에 도시된 바와 같이, 미리 결정된 데이터 점유율의 양을 초과하는 데이터를 갖는 영상이 VBV 버퍼로부터 나타날 때, 언더플로우는 VBV 버퍼에서 발생된다. 이것은, 타겟 코드 발생량이 비율 제어에 따라서 설정된다 할지라도 화상의 복잡함 또는 활발한 이동으로 인해서 타겟 코드 발생량보다 많은 코드량이 발생될 때 영상을 디코딩할 데이터의 부족하기 때문에(도면에서 "0" 이하의 부분) 화상이 디코딩될 수 없음을 의미한다.
이러한 VBV 버퍼의 기능은 ISO(표준화를 위한 국제 기구)/IEC(국제 전자기술 위원회) 13818-2(MPEG의 비디오 부분)의 부록에 기술된다. 그러나, 언더플로우 및 오버플로우가 VBV 버퍼에서 발생될 때 화상 디코딩 장치의 기능은 기술되지 않았다.
VBV 버퍼에서 언더플로우의 발생을 방지하기 위한 방법으로서, VBV 버퍼에 고정된 임계값을 설정하며 VBV 버퍼에서 데이터 점유율이 임계값 이하일 때 영상을 스킵(화상에 대한 인코딩 처리를 중지)함으로써 VBV 버퍼내의 언더플로우의 발생을 방지하는 방법이 제안되었다.
그러나, 이러한 방법은 영상의 어떤 화상 코딩 형태에서 스킵 처리를 수행하는 가능성을 야기한다. 이 경우에, 코딩의 경우에서 화질에서 가장 중요한 화상 데이터를 포함하는, I 영상의 발생되는 코드량(즉, 데이터 비율)이 P 영상 및 B 영상보다 크기 때문에, I 영상이 P 영상 및 B 영상보다 더 스킵되는 것으로 고려된다. 따라서, I 영상이 스킵되는 경우에, 그것은 I 영상의 예측 화상인 P 영상 및 B 영상의 화질에 영향을 주며, 전체 화질을 악화시키는 가능성이 있었다.
도 1은 VBV 버퍼에서 데이터 점유율의 트랜지션을 설명하는 개략도.
도 2는 VBV 버퍼내의 언더플로우를 설명하는 개략도.
도 3은 본 발명의 제 1 실시예에 따른 화상 인코딩 장치의 일반 구성을 도시하는 블록도.
도 4는 VBV 버퍼내의 데이터 점유량이 제 1 임계값보다 낮을 때 데이터 점유율의 트랜지션을 설명하는 개략도.
도 5는 VBV 버퍼내의 데이터 점유량이 제 2 임계값보다 낮을 때 데이터 점유율의 트랜지션을 설명하는 개략도.
도 6은 VBV 버퍼내의 데이터 점유량이 제 3 임계값보다 낮을 때 데이터 점유율의 트랜지션을 설명하는 개략도.
도 7은 코딩 제어 회로의 기능을 설명하는 흐름도.
도 8은 본 발명의 제 2 실시예에 따른 화상 인코딩 장치의 일반직인 구성을 도시하는 블록도.
도 9는 도 8의 화상 인코딩 장치의 상세한 구성을 도시하는 블록도.
도 10은 코딩 제어부의 기능을 도시하는 흐름도.
본 발명은 전술된 점을 고려하여 제안되었으며, 화질을 악화시키지 않고도 디코딩을 확인하기 위해 버퍼내에서 언더플로우를 방지하는 것이 가능한 화상 인코딩장치 및 화상 인코딩 방법을 제안한다.
전술된 점을 해결하기 위해서, 본 발명에서, 코딩 제어 수단은 코딩된 화상의 코드 발생량을 계산한다. 계산된 결과에 따라서, 코딩 제어 수단은 코딩 수단을 제어하여 현재 코딩되는 제 1, 제 2 또는 제 3 화상에 대한 코딩 처리가 정지되며, 화상 디코딩 장치의 버퍼내에서 코딩된 화상의 데이터 점유율이 인트라-코딩되는 제 1 화상, 순방향으로 예측 코딩되는 제 2 화상 및 순방향으로 예측 코딩되는 제 3 화상에 대응하는 제 1, 제 2 및/또는 제 3 임계 값 셋트 중에서 현재 코딩된 제 1, 제 2 또는 제 3 화상에 대응하는 제 1, 제 2 또는 제 3 임계값보다 더 작다.
또한, 코딩되는 제 1 화상, 제 2 화상 또는 제 3 화상에 대한 코딩 처리가 정지되는 경우에, 다음 화상을 위한 버퍼 사이즈는 화상 디코딩 장치의 버퍼내에 고정된다.
또한, 화상을 디코딩하는 경우에 화상 코딩 타입의 중요성에 따른 제 1, 제 2 및/또는 제 3 임계값을 설정함으로써, 더 높은 중요성을 갖는 화상의 버퍼 사이즈는 화상 디코딩 장치의 버퍼내에 차별적으로 고정된다.
이런 방식으로, 화상 디코딩 장치의 버퍼내에서 언더플로우 발생을 방지할 수 있는 화상 인코딩 장치 및 화상 인코딩 방법은 화질을 악화시키지 않고도 실현될 수 있다.
또한, 코딩 수단은 화상 코딩 타입에 대응하는 코딩 방법에 의해 영상당 입력 화상 데이터를 압축 및 코딩하며, 점유율 계산 수단은 화상 디코딩 장치내의 입력 버퍼에 대응하는 가상 버퍼의 데이터 점유율을 계산한다. 코딩 난해 계산 수단은 코딩되는 영상에 이어지는 영상의 코딩 난해의 정도를 나타내는 코딩 난해의 정도를 계산하며, 영상 스킵 제어 수단은, 점유율 계산 수단에 의해 계산되는 데이터 점유율이 지정된 데이터 점유율 판단 임계값보다 낮으며, 코딩 난해 계산 수단에 의해 계산되는 코딩 난해 정도가 하나의 영상 코딩이 종료될 때 지정된 표준에 부합하는 경우에 영상이 스킵 매크로 블록에 의해 형성되는 것으로서 다음에 코딩되는 영상을 코딩한다.
이러 방식으로, 본 발명은 화질에 대한 영향을 가능한 작게 제어함으로써 화상 디코딩 장치의 입력 버퍼에 대응하는 가상 버퍼의 언더플로우를 방지하는 효과를 얻게될 수 있다.
본 발명을 실행하는 최상의 모드
(1) 제 1 실시예
도 3에서, 1은 전체적으로 화상 인코딩 장치를 표시하며, 입력 단자(W1)로부터 들어온 입력 화상 신호 (S1)은 화상 형태 지정 회로(2)로 공급된다.
이러한 화상 형태 지정 회로(2)는 공급되는 화상 신호(S1)의 각 프레임을 지정하며, 상기 신호는 I 영상, B 영상 또는 P 영상 및 출력으로부터 화상 코딩 순서 분류 회로(3)로 화상 코딩 형태 영상으로서 처리되게 된다. 이러한 화상 인코딩 장치(1)는 하나의 영상 그룹(GOP)으로서 15개의 프레임을 형성하며, 하나의 처리 장치를 이룬다.
영상 신호 S2로서 스캔 변환기(4)에 코딩 및 전달하기 위한 지정된 화상 코딩 형태에 따라 각 프레임을 분류하는 것은 물론이고 화상 코딩 순서 분류 회로(3)는 화상 코딩 형태 데이터(S3)을 예측 모드 결정 회로(5), 동작 벡터 검출 회로(6) 및 코딩 제어 회로(7)로 출력한다. 또한, 현재 코딩되는 프레임의 동작 벡터를 검출하기 위해서, 화상 코딩 순서 분류 회로(3)는 현재의 화상, 현재의 화상보다 과거에 존재하는 화상(이후로 과거 참조 화상으로 불린다) 및/또는 현재의 화상보다 미래에 존재하는 화상(이후 미래 참조 화상으로 불린다)을 동작 벡터 검출 회로(6)로 출력한다.
이러한 스캔 변환기(4)는 공급되는 프레임을 블록 포맷 신호로 변환하며, 신호 중 하나의 프레임을 N 개의 조각으로 분할하여 하나의 장치로서 16개를 형성한다. 각각의 조각은 16 x 16 화소에 대응하는 발광 신호에 의해 형성된 N 수의 매크로 블록으로 분할된다. 어드레스(가변 길이 코드(증가 값))는 각각의 매크로 블록으로 가산되며, 이러한 어드레스는 각각의 매크로 블록의 위치를 나타낸다. 이 경우에, 적어도 상기 영상으로 전송되는 매크로 블록의 어드레스는 수를 나타내며, 다음 매크로 블록의 어드레스는 상기 매크로 블록의 절대 어드레스와 한 블록 전에 전송된 매크로 블록의 절대 어드레스 사이의 차를 나타낸다.
동작 벡터 검출 회로(6)는, 화상 신호 (S2)의 각 프레임과 동기인 화상 코딩 형태 데이터 (S3)에 따른, 인트라 프레임 코딩에 의한 I 영상, 인터프레임 양방향 예측 코딩에 의한 P 영상 또는 양방향 예측 코딩에 의한 B 영상으로서 각 프레임의 화상 데이터를 처리한다. 이러한 방법에서, I 영상으로서 처리되는 프레임의 화상 데이터는 과거 참조 화상을 저장하기 위한 과거 참조 화상 메모리(도면에는 도시되지 않음)에 저장되며, B 영상으로서 처리되는 프레임의 화상 데이터는 현재의 화상 메모리(도면에는 도시되지 않음)에 저장되며, P 영상으로서 처리되는 프레임의 화상 데이터는 동작 벡터 검출 회로(6)로부터 미래 참조 화상을 저장하기 위한 미래 참조 화상 메모리(도면에는 도시되지 않음)에 저장된다.
그후, B 영상 또는 P 영상으로서 처리되는 프레임이 동작 벡터 검출 회로(6)에 입력될 때에, 미래 참조 화상 메모리 내에 저장된 제 1 의 P 영상 화상 데이터는 과거 참조 화상 메모리에 저장된다. 그후, 다음 B 영상 화상 데이터는 현재의 화상 메모리에 저장되며, 이어지는 P 영상 화상 데이터는 미래 참조 화상 메모리에 저장된다. 그후로 이러한 동작은 연속해서 반복된다.
동작 벡터 검출 회로(6)는 순향성 예측내의 이동 벡터와 그때 예측 모드 결정 회로(5)에서 이동 벡터 측정된 나머지인 이동 벡터 데이터 (S5)를 출력한다. 또한, 상기 이동 벡터 검출 회로(6)는 역방향 예측의 이동 벡터와 이때 이동 벡터 측정된 나머지인 이동 벡터 데이터를 출력한다.
예측 모드 결정 회로(5)는 인트라-모드, 순방향 예측 모드, 역방향 예측 모드, 또는 양방향 예측 모드 중에서 결정하기 위해 어떤 예측 모드를 결정한다.
여기서, 인트라-모드는 전송 데이터로서 코딩되는 프레임의 화상 데이터를 전송하기 위한 처리이며, 순방향 예측 모드는 과거 참조 화상 및 순방향 이동 벡터를 전송하기 위한 처리이다. 또한, 역방향 예측 모드는 미래 참조 화상 및 역방향 이동 벡터의 예측 나머지를 전송하기 위한 처리이며, 양방향 예측 모드는 과거 참조 화상 및 미래 참조 화상의 두 예측 화상의 평균값의 예측 나머지를 전송하며, 순방향 및 반대 방향으로 두 이동 벡터를 전송시키기 위한 처리이다. B 영상의 경우에, 이러한 네 종류의 예측 모드는 매 매크로 블록에 대해서 시프팅된다.
예측 모드 결정 회로(5)는 화상 코딩 순서 분류 회로(3)로부터 출력된 화상 코딩 형태 데이터 (S3)에 기초한 I 영상의 경우에 인트라-모드를 선택하며, P 영상의 경우에, 인트라-모드 또는 순방향 예측 모드를 선택하며, B 영상의 경우에, 인트라-모드, 순방향 예측 모드, 역방향 예측 모드 또는 양향성 예측 모드로부터의 예측 모드 중 하나를 선택하며, 선택된 예측 모드를 표시하는 선택 모드 데이터 (S6)을 동작 회로(8)로 전송한다.
동작 회로(8)는 예측 모드 데이터(S6)에 기초한 스캔 변환기(4)로부터 판독된 매크로 블록 S7상에서 인트라, 순향성 예측, 역방향 예측 또는 양방향 예측 계산을 수행한다.
처리되는 프레임의 화상 데이터가 매크로 블록 (S7)과 같은 I 영상으로서 입력되는 경우에, 동작 회로(8)는 화상 데이터를 인트라-코딩한 후에 화상 데이터를 DCT(불연속 코사인 변환)으로 출력한다. DCT 회로(9)는 인트라-코딩된 화상 데이터를 DCT 계수로 변환하며 양자화 회로(10)로 전송한다.
상기 양자화 회로(10)는, 코딩 제어 회로(7)로부터 지정된 양자화 단계에 의해 각각의 DCT 계수를 양자화한 후에, 가변 길이 코딩 회로(11) 및 양자화 회로(12)를 전송한다.
가변 길이 코딩 회로(11)는, 양자화된 화상 데이터, 예측 모드 결정 회로(5)로부터 출력되는 예측 모드 데이터(S6) 및 이동 벡터 검출 회로(6)로부터 허프만 코드와 같은 가변 길이 코드에 출력되는 이동 벡터 회로(6)를 변환한 후에, 그것을 전송 경로(도시되지 않음)를 통해서 화상 코딩 장치(13)로 전송하며, 그것을 코딩 제어 회로로 출력한다. 또한 가변 길이 코딩 회로(11)는 각각의 매크로 블록의 증가를 카운팅한다.
역 양자화 회로(12)는, 양자화 시간에 양자화 단계에 따라서 양자화된 화상 데이터를 역 양자화한 후에, 이것을 역 DCT 회로(14)로 출력한다. 역 DCT 회로(14)는 역 양자화 회로(12)로부터의 출력을 처리한다. 역 DCT 회로(14)로부터의 출력은, 계산기(15)를 통해서 프레임 메모리(16)에 과거 참조 화상을 저장하는 과거 참조 화상 메모리 장치(도시되지 않음)에 저장된다.
그후, P 영상으로서 처리되는 프레임의 화상 데이터는 스캔 변환기(4)로부터 동작 회로(8)로 공급된다. 예측 모드 결정 회로(5)로부터 출력되는 예측 모드 데이터(S6)가 인트라 모드인 경우에, 프레임의 화상 데이터는 양자화 회로(10) 및 가변 길이 코딩 회로(11)를 통해서 화상 디코딩 장치(13) 및 코딩 제어회로(7)에 전송되는 것은 물론이고 전술된 I 영상의 경우에서와 같이 인트라-코딩되며, 또한 프레임의 화상 데이터는, 역 양자화 회로(12), 역 DCT 회로(14) 및 계산기(15)를 통해서 프레임 메모리(16)에 미래 참조 화상을 저장하기 위해 미래 참조 화상 메모리 장치(도시되지 않음)에 저장된다.
예측 모드 데이터(S6)가 순방향 예측 모드를 표시하는 경우에, 프레임 메모리(16)의 과거 참조 화상 메모리 장치 내에 저장된 화상 데이터(이 경우에, I 영상의 화상 데이터)가 판독되어 이동 보상 회로(17)에 출력된다.
이동 보상 회로(17)는 이동 벡터 검출 회로(6)로부터 출력되는 순방향 이동 벡터 데이터(S5)에 응답하여 이러한 화상 데이터를 보상한다.
특히, 전방향 예측 모드의 경우에, 이동 보상 회로(17)는, 순방향 이동 벡터 데이터(S5)에 대응하는 부분을 위한 프레임 메모리(16)의 과거 참조 화상 메모리 장치의 판독 어드레스를, 이동 벡터 검출 회로(6)가 현재 출력하며, 예측 참조 화상을 형성하며 그후, 출력하는 매크로-블록 위치에 대응하는 위치로부터 동작 회로(8) 및 계산기(15)로 출력하는 데이터를 판독한다.
동작 회로(8)는, 스캔 변환기(4)로부터 출력되는 기준 화상의 매크로 블록의 데이터(S7)로부터 이동 보상 회로(17)로부터 출력된 매크로 블록에 대응하는 예측 참조 화상의 화상 데이터를 감산함으로써 차이 데이터(differential data)를 얻으며, 이러한 차이 데이터를 DCT 회로(9)에 출력한다. 이러한 차이 데이터는 DCT 회로(9), 양자화 회로(10) 및 가변 길이 코딩 회로(11)를 통해서 화상 디코딩 장치(13) 및 코딩 제어 회로(7)에 전송된다. 또한, 이러한 차분 데이터는 역 양자화 회로(12) 및 역 DCT 회로(14)에 의해 국부적으로 디코딩되며 계산기(15)로 전송된다.
계산기(15)는 이동 보상 회로(17)로부터 출력되는 예측 참조 화상의 화상 데이터를 역 DCT 회로(14)로부터 출력되는 차분 데이터로 가산한다. 따라서, 국부적으로 디코딩된 P 영상의 화상 데이터가 얻어질 수 있다. 이러한 P 영상의 화상 데이터는 프레임 메모리(16) 내에 미래 참조 화상을 저장시키기 위해 미래의 참조 화상 메모리 장치에 저장된다.
그후, B 영상으로서 처리되는 프레임의 화상 데이터는 스캔 변환기(4)로부터 동작 회로(8)로 공급된다. 예측 모드 결정 회로(5)로부터 전송되는 예측 모드 데이터(S6)가 인트라-모드 또는 순방향 예측 모드인 경우에, 프레임의 화상 데이터는 전술된 P 영상의 경우에서와 같이 처리된다. 한편, 예측 모드 데이터(S6)이 반대 방향의 예측 모드로 설정되면, 프레임 메모리(16)의 미래 참조 화상 메모리 장치에 저장된 화상 데이터(이 경우에 P 영상 화상 데이터)는 판독되어 이동 보상 회로(17)로 전송된다.
이동 보상 회로(17)는 이동 벡터 검출 회로(6)로부터 전송되도록 역방향 이동 벡터 데이터 S5에 응답하여 이러한 화상 데이터를 보상한다.
특히, 역방향 예측 모드에서, 이동 보상 회로(17)는, 이동 벡터 검출 회로(6)가 이동 벡터 데이터(S5)에 대응하는 부분을 위해서 현재 출력하며, 예측 참조 화상을 형성하는 매크로 블록의 위치에 대응하는 위치로부터 프레임 메모리의 미래 참조 화상 메모리 장치의 판독 어드레스를 시프팅하는 데이터를 판독하여, 이것을 동작 회로(8) 및 계산기(15)로 전송한다.
동작 회로(8)는, 스캔 변환기(4)로부터 전송되는 참조 화상의 매크로 블록의 데이터로부터, 이동 보상 회로(17)로부터 전송된 매크로 블록에 대응하는 예측 참조 화상의 화상 데이터를 감산함으로써 예측 나머지로서 차이 데이터를 얻고 이러한 데이터를 DCT 회로(9)로 전송한다. 이 차이 데이터는 DCT 회로(9)로 전송된다.
이 때, 계산기(15)는 이동 보상 회로(17)로부터 출력되는 예측 참조 화상의 화상 데이터를 역 DCT 회로(4)로부터 출력되는 차분 데이터로 가산한다. 따라서, 국부적으로 디코딩되는 B 영상의 화상 데이터가 얻어질 수 있다.
양방향 예측 모드에서, 프레임 메모리(16)의 과거 참조 화상 메모리 장치에 저장된 화상 데이터(이 경우에 I 영상의 화상 데이터) 및 미래 참조 화상 메모리 장치에 저장된 화상 데이터(이 경우에 P 영상의 화상 데이터)가 판독되어 이동 보상 회로(17)로 전송된다.
이동 보상 회로(17)는 이동 벡터 검출 회로(6)로부터 전송되는 전방 이동 벡터 및 순방향 이동 벡터인 이동 벡터 데이터(S5)에 응답하여 이러한 화상 데이터를 이동 보상한다.
특히, 양방향 예측 모드의 경우에, 이동 보상 회로(17)는, 이동 벡터 검출 회로(6)가 순방향 이동 벡터 및 반대 방향 이동 벡터인 이동 벡터(S5)에 대응하는 부분을 위해 매크로 블록을 현재 출력하는 위치에 대응하는 위치로부터 프레임 메모리(16)의 과거 참조 화상 메모리 장치 및 미래 참조 화상 메모리 장치의 판독 어드레스를 시프팅하는 데이터를 판독하며, 계산 회로(8) 및 계산기(15)로 전송되는 예측 참조 화상을 형성한다.
계산 회로(8)는, 스캔 변환기(4)로부터 출력될 참조 화상의 매크로 블록 데이터로부터, 이동 보상 회로(17)로부터 출력된 매크로 블록에 대응하는 예측 참조 화상의 화상 데이터의 평균값을 감산함으로써, 예측 나머지(predictive residue)로서, 차분 데이터(differential data)를 얻고, 이 차분 데이터를 DCT 회로(9)로 송출한다.
이때, 계산기(15)는, 이동 보상 회로(17)로부터 출력되는 예측 참조 화상의 화상 데이터를 역 DCT 회로(14)로부터 출력되는 차이 데이터로 가산한다. 따라서, 국부적으로 디코딩된 B 영상의 화상이 얻어진다. 이 점에서, B 영상이 다른 화상의 예측 화상으로서 사용되지 않으므로, 그것은 프레임 메모리(16)에 저장되지 않는다.
화상 디코딩 장치(13)는, 디코더 버퍼(18) 내에 한번 화상 인코딩 장치(1)로부터 소정의 비트율로 전송되는 비트열을 저장한 후에, 고정된 타이밍으로 디코더 버퍼(18)로부터 화상 데이터의 한 프레임을 판독하며 디코딩 장치(19)에 연속해서 디코딩된다. 디코딩된 프레임은 디스플레이 상에서와 같이 디스플레이되는 원래의 화상의 순서로 배열된다.
여기서, 디코더 버퍼(18)는 화상 인코딩 장치(1)로부터 가상으로 생각되는 디코딩을 보장하는 버퍼(즉, VBV 버퍼)를 구성하며, 화상 인코딩 장치(1)는 디코딩 장치(19)가 디코더 버퍼(18)로부터 화상 데이터를 판독하는 타이밍을 알도록 설계된다.
이러한 실시예의 경우에, 코딩 제어 회로(7)는 매크로 블록당 가변 길이 코딩 회로(11)로부터 출력될 가변 길이 코딩된 화상 데이터의 발생된 코드들의 양을 계산하며, 증가 값들을 카운팅한다. 또한, 코딩 제어 회로(7)는 타겟 코드 발생량을 표시하는 양자화 단계 제어 신호(S8)를 양자화 회로(10)로 송신하며, 한 프레임당 코드 발생의 양을 제어한다.
또한, 코딩 제어 회로(7)는 제 3 임계 값, 제 2 임계 값 및 VBV 버퍼(18)로서 작용하는 디코더 버퍼에서 데이터 점유율의 임계값으로서 제 1 임계값을 갖는다. 제 3, 제 2 및 제 1 임계값은 B 영상, P 영상 및 I 영상에 대응하는 제 3, 제 2 및 제 1 임계값에 대응한다. 또한, 이들 임계값들의 값들은, 화상들을 코딩할때, 화상 코딩 타입들의 더 적은 중요도의 순서로 더 높아지도록 설정되며, 즉 제 3 임계 값 〉제 2 임계 값 〉제 1 임계값이 된다. 이러한 방식으로, B 영상이 코딩될 때, 디코더 버퍼(18)내의 데이터 점유율이 제 3 임계값보다 작은 화상 데이터가 가변 길이 코딩 회로(11)로부터 출력되는 화상 데이터의 코드 발생량에 기초해서 발생되면, 코딩 제어 회로(7)는 스킵 실행 신호(S9)를 출력하며, B 영상이 매크로 블록에 대해서 코딩된 후 화상 데이터를 스킵한다. 그러므로, 데이터 점유율의 하락이 억제된다.
여기서, 스킵핑(skipping)은 현재 수행중인 코딩 처리를 정지하는 것이다.
이 화상 데이터가 전술된 바와 같이 처리될 때, 데이터 버퍼(18)로 구성된 VBV 버퍼(18)내의 데이터 점유율은 도4에 도시된 바와 같이 변화한다. 도4에 도시된 굵은 선 부분은 화상 데이터가 스킵되는 것을 나타내며, 그것은 도5 및 도6에 적용된다.
이 경우에, 양자화 회로(10)가 스킵 신호(S9)를 수신할 때, 그것은 화상 데이터 내에 설치된 스킵 스위치를 ON 시키며, 화상 데이터를 스킵한다. 이 경우에, 코딩 제어 회로(7)는 스킵되는 매크로 블록상의 어드레스 정보(S10)를 가변 길이 코딩회로(11)로 전송한다. 코드(비트)는 양자화 회로(10)로부터 더 이상 발생되지 않는다. 또한, 양자화 회로(10)가 화상 데이터를 스킵하지 않을 때, 그것은 스킵 스위치를 오프시키며, 화상 데이터를 양자화한다.
이 시점에서, 코딩 제어 회로(7)는 화상 코딩 장치(13)의 디코딩 장치(19)가 디코더 버퍼(18)와 그 외의 것으로부터 데이터를 판독하는 타이밍을 알며, 그것이 가변 길이 코딩 회로(11)로부터 출력되는 화상의 코드 발생 분량을 계산하므로, 디코더 버퍼(18) 내에 현재 저장된 데이터량을 찾아낼 수가 있다.
화상 데이터가 스킵되지 않았을 경우에, 가변 길이 코딩 회로(11)는 증가 값을 계산하는 것은 물론, 화상 데이터를 어드레스 정보로 코딩 제어 회로(7) 및 화상 디코딩 장치(13)로 전송한다. 한편, 화상 데이터가 스킵되었으면, 가변 길이 코딩 회로(11)는 증가 값을 계산하되 스킵된 매크로 블록 상에 어드레스 정보를 출력하지 않으며, 수직 및 수평으로 정렬된 다수의 매크로 블록의 라인 방향으로 제 1 매크로 블록의 어드레스 정보(이후 톱 어드레스 정보라 칭한다)와 라인 방향으로 마지막 매크로 블록의 어드레스 정보(이하 마지막 어드레스 정보로 칭한다)상의 가변 길이 코딩을 계산하며, 코딩 제어 회로(7) 및 화상 디코딩 장치(13)에 전송한다.
따라서, 코딩 제어 회로(7) 및 화상 디코딩 장치(13)는 화상 데이터 중 어떤 화상 코딩 타입가 스킵되는지를 찾을 수 있다. 여기서, 가변 길이 코딩 회로(11)에 대한 톱 어드레스 정보 및 마지막 어드레스 정보의 지정은 지정 신호(S10)을 가변 길이 코딩 회로(11)로 출력하는 코딩 제어 회로(7)에 의해서 수행된다.
또한, P 영상이 디코더 버퍼(18) 내에서 제 2 임계값보다 낮은 데이터 점유율을 갖는 화상 데이터가 발생되는 경우에 코딩되고 있을 때, 코딩 제어 회로(7)는 실행 신호(S9)를 양자화 회로(10)로 스킵하며, 매크로 블록에 대해서 코딩되는 P 채널에서 화상을 스킵한다.
P 화상이 스킵되는 경우에, 코딩 제어 회로(7)는 디코더 버퍼(18) 내 데이터 점유율이 대응하는 임계값을 초과하는 디코딩의 경우에 예측 화상으로서 스킵된 P 영상을 이용하여 모든 B 및 P 영상을 스킵한다. 이것은, 도5에 도시된 바와 같이, P 영상(P3)가 예측 화상으로서 앞서는 P 영상(P2)를 형성하기 때문이다. 특히, P 영상(P2)가 코딩을 통해서 중간에 스킵되므로, 그것은 화상 데이터로서 불충분하며, 따라서, 디코딩된 P 영상(P3)의 화질의 열화가 이러한 P 영상(P2)를 이용하는데 디코딩되게 한다. 동일한 것이 B 영상(B5) 및 B 영상(B6)에 적용될 수 있다. 따라서, 다음 I 영상 코드까지 화상 데이터가 스킵된다.
또한, 도5에 도시된 바와 같이, 데이터량은 B 영상(B3), B 영상(B4), P 영상 (P3), B 영상(B5) 및, B 영상(B6)이 스킵된다 할지라도 굵은 선 부분을 위해서 감소된다. 그 이유는 톱 어드레스 정보 및 마지막 어드레스 정보가 판독되기 때문이다. 이러한 동일한 것이 도6에 적용된다.
또한, I 영상이 코딩될 때, 디코더 버퍼(18)내의 제 3 임계값보다 낮은 버퍼 점유율의 코드량을 갖는 화상 데이터가 발생되는 경우에, 코딩 제어 회로(7)는 스킵 실행 신호(S9)를 양자화 회로(10)로 출력하며, 단지 DC 성분만을 포함하는 매크로 블록으로서 매크로 블록에 대해서 코딩되는 I 영상으로부터 화상 데이터를 코딩한다. 이 경우에, 코드 제어 회로(7)는 다음 I 영상이 코드될 때까지 B 영상 및 P 영상을 스킵하도록 양자화 회로(10)를 제어한다.
도6에 도시된 바와 같이, 이것은 P 영상(P2)이 예를 들어 예측 화상으로서 앞선 I 영상(I1)을 형성하기 때문이다. 특히, I 영상(I1)의 DC 성분만이 코딩을 통해서 중간에 코딩되므로, 그것은 화상 데이터로서 불충분하며, 따라서, 이러한 I 영상(I1)을 이용하여 디코딩되는 P 영상(P2)후의 화질을 열화시킨다. 이러한 동일한 것은 디코딩의 경우에 I 영상(I1), 및 P 영상(P2)를 이용하는 B 영상(B3), B 영상 (P4), B 영상(P5) 및, B 영상(B6)에 적용된다. 따라서, 화상 데이터는 다음 I 영상이 코딩될 때까지 스킵된다.
그 결과, 도4 내지 6에 도시된 굵은 선은 스킵된 매크로 블록 또는 DC 성분을 갖는 내부 매크로 블록에 의해 형성될 수 있다.
또한, 화상 데이터가 전술된 바와 같이 스킵되는 경우에, 코딩 제어 회로(7)는 더 많은 타겟 코드 발생량을 스킵된 동일 용량에 대한 것으로부터 화상 데이터로 할당하기 위해서 타겟 코드 발생량 제어 신호(S8)에 의해 양자화 회로(10)를 제어한다. 이 경우에, 코딩 제어 회로(7)는, 더 많은 타겟 코드 발생량이 할당되어야 하는 I 영상 및 P 영상을 위한 것과 같이, 디코딩 화상의 경우에 중요성을 위해서 더 많은 타겟 코드 발생 용량을 할당한다.
영상들이 화상 인코딩 장치(1)에서 스킵되는 경우에, 화상 디코딩 장치(13)는 전송되는 어드레스 정보에 기초하여 어떤 매크로 블록이 스킵되는지를 판단하며, 따라서 매크로 블록이 스킵될 때, 앞선 프레임이 그와 같이 디스플레이된다.
코딩 제어 회로(7)의 기능은 도 7을 참조하여 설명된다.
코딩 제어 회로(7)는 단계(SP1)로부터 그리고 단계(SP2)에서 그 동작을 시작하며, 현재까지 코딩되는 영상(이후로 코딩 타겟 영상으로서 일컬어진다)이, 화상 코딩 소팅 회로(3)로부터 전송되는 화상 코딩 형태(S3)에 기초한 화상 코딩 타입에 속하게 되는지를 판단한 후에, 단계(SP3)으로 진행한다.
코딩 제어 회로(7)는 코딩 타겟 영상을 스킵하는데 또는 스킵 결정 플래그가 설정되는 영상의 화상 코딩 형태(이후로 스킵 영상으로 일컬어진다) 및 코딩 타겟 영상의 화상 코딩 형태에 기초하지 않았는지를 판단한다. 여기서, 후술되는 스킵 결정 플래그는 스킵 영상에 설정되는 플래그를 도시한다.
이러한 단계(SP3)에서 코딩 타겟 영상을 스킵하는지 여부를 판단하는 이유는 스킵 영상이 코딩 타겟 영상의 예측 화상인지 여부를 결정하기 때문이다. 특히, 전술된 바와 같이, 코딩 타겟 영상의 예측 화상이 스킵되는 경우 때문에, 이것은 이러한 예측 화상을 이용하여 디코딩되는 영상의 화질에 영향을 주며, 디코더 버퍼(18)의 데이터 점유율이 코딩 타겟 영상을 코딩할 때 코딩 타겟 영상의 화상 코딩 타입에 대응하는 임계값보다 작지 않은 경우에도 이것을 스킵하는 것이 필요하다. 예를 들면, P 영상(P3)(도 5)이 코딩 타겟 영상이며, 상기 P 영상(P3)이 되는 P 영상(P2)이 스킵된다.
단계(SP3)에서, 코딩 제어 회로가 네가티브 결과를 얻으면, 다음 단계 SP4는 스킵 결정 플래그를 리셋한다. 이러한 점에서 스킵 결정 플래그를 리셋하는 이유는 스킵되지 말아야하는 영상의 화상 데이터가 스킵되지 않게 하기 위해서이다.
그후, 단계(SP5)에서 타겟 코드 발생량을 계산한 후 코딩 제어 회로(7)는 매크로 블록에 대해서 코딩 타겟 영상을 인코딩하는 단계(SP6)로 진행된다. 그후 단계 SP7에서, 디코더 버퍼(18), 코딩 제어 회로(7)내의 현재의 데이터 점유율을 계산하는 것은 단계(SP8)로 진행한다.
단계(SP8)에서, 코딩 제어 회로(7)는 단계(SP7)에서 계산된 디코더 버퍼(18)내의 데이터 점유율이 코딩 타겟 영상에 대응하는 임계값보다 작은지 여부를 판단하며, 네가티브 결과가 얻어지면, 코딩 제어 회로(7)는 단계(SP9)로 진행한다. 단계(SP9)에서, 코딩 제어 회로(7)는 코딩 타겟 영상의 한 프레임이 코딩되는지 여부를 판단하며, 네거티브 결과가 얻어지면, 단계(SP6)로 돌아가며, 단계(SP6)로부터 단계(SP9)로 처리 루프를 실행한다.
코딩 제어 회로(7)가 단계(SP3)에서 코딩 타겟 영상을 스킵하며, 단계(SP10)로 진행되며, 톱 어드레스 정보 및 최종 어드레스 정보를 제외하고는 상기 코딩 타겟 영상을 스킵하는 것을 판단하며, 코딩 타겟 영상이 I 영상일 때, 이것을 단지 DC 성분을 갖는 매크로 블록으로서 인코딩한다. 또한, 디코더 버퍼(18)내의 데이터 점유량이 단계(SP8)에서 코딩 타겟 영상에 대응하는 임계값에 모자라는 경우에, 코딩 제어 회로(7)는 그후 매크로 블록에 대해서 코딩 타겟 영상의 화상 데이터를 스킵한다.
그후, 코딩 제어 회로(7)는 단계(SP11)로 진행되며, 코딩이 코딩 타겟 영상의 한 프레임 상에서 계산되었는지 여부를 판단한다.
코딩 제어 회로(7)가 단계(SP11)에서 네가티브 결과를 얻을 때, 단계 (SP10)로 돌아가며, 단계(SP10) 및 단계(SP11)의 처리 루프를 실행한다. 긍정적인 결과가 얻어지면, 그것은 단계(SP12)로 진행된다. 단계(SP12)에서, 대응하는 스킵 결정 플래그를 스킵된 영상으로 설정한 후, 코딩 제어 회로(7)는 단계(SP2)로 돌아가며, 화상 신호가 모두 처리될 때까지 전술된 동작을 반복한다.
전술된 구성에 따라서, B 영상이 화상 인코딩 장치 I내의 가변 길이 코딩 회로(11)로부터 화상 데이터의 코드 발생량에 기초하여 코딩될 때와, 디코더 버퍼(18) 내에서 데이터 점유율의 코드량에 갖는 화상 데이터가 제 3 임계값보다 작게 발생될 때, 코딩되는 B 영상의 화상 데이터는 매크로 블록에 대해서 스킵되며, 다음 P 영상의 화상 데이터에 대한 버퍼 크기는 디코더 버퍼(18)에서 고정될 수 있다.
또한, 화상 인코딩 장치(1)에서, P 영상이 가변 길이 코딩 회로(11)로부터 화상 데이터의 코드 발생량에 기초해서 코딩될 때 그리고, 디코더 버퍼(18)내의 데이터 점유율의 코드량을 갖는 화상 데이터가 제 2 임계값보다 작으면, 그후에 코딩되는 P 영상의 화상 데이터는 스킵되며, I 영상의 화상 데이터를 위한 VBV 버퍼의 데이터 점유율은 디코더 버퍼(18) 내에 고정되게 된다.
또한, P 영상이 스킵되는 경우에, P 영상 및 P 영상을 예측 화상으로서 형성하는 B 영상이 모두 스킵되며, 따라서 화질의 악화가 방지될 수 있다.
또한, 화상 인코딩 장치(1)에서, I 영상이 가변 길이 코딩 회로(11)로부터 화상 데이터의 코드 발생량에 기초해서 코딩될 때, 디코더 버퍼(18)에서 데이터 점유율의 코드량을 갖는 화상 데이터가 제 1 임계값이 발생될 때 보다 작으면, 그후에 코딩되는 I 영상의 화상 데이터는 매크로 블록에 대해서 스킵되며, 따라서, 다음 I 영상의 화상 데이터에 대한 VBV 버퍼의 데이터 점유율이 디코더 버퍼(18)에서 고정될 수 있다.
또한, I 영상이 스킵되면, 모든 P 영상 및 B 영상은 I 영상이 코딩될 때까지 스킵되며, 화질의 악화가 방지될 수 있다.
따라서, 이러한 화상 인코딩 장치(1)에서, 덜 중요한 화상 코딩 타입의 영상이 화상을 디코딩하는 경우에 우선 스킵되므로, 더 중요한 화상 코딩 타입의 영상을 위한 VBV 버퍼의 데이터 점유율이 디코더 버퍼(18)에서 고정될 수 있다.
또한, 화상 인코딩 장치(1)에서, 덜 중요한 화상 코딩 형태의 영상이 디코딩의 경우에 우선 스킵되므로, 디코딩의 경우에 더 중요한 화상 코딩 타입의 영상이 스킵된 용량만큼 더 타겟 코드 발생량으로 할당될 수 있으며, 따라서, 화질의 악화가 방지될 수 있다. 그리고, 화상의 영상 패턴이 복잡할 때 특히 효과가 있다.
또한, 화상 디코딩 장치(1) 사이드의 화상 정지 상태는 화상 인코딩 장치(1) 사이드에 의해서 제어될 수 있다.
전술된 구성에 따라서, VBV 버퍼내의 데이터 점유율의 임계값으로서 B 영상, P 영상 및 I 영상에 대응하는 제 3 임계값, 제 2 임계값 및 제 1 임계값을 설정하는 것은 물론이고, 제 3 임계값, 제 2 임계값 및 제 1 임계값이 제 3, 제 2 및 제 1 임계값에 의해 증가하는 순서로 설정되며, 따라서 화상을 디코딩하는 경우에 더 중요한 화상 코딩 형태의 영상이 우선 스킵된다.
따라서, VBV 버퍼에서, 디코딩 화상의 경우에 더 중요한 화상 코딩 타입의 영상 데이터 점유율이 우선 고정될 수 있다. 그 결과, 화질을 악화시키지 않고 VBV 버퍼내의 언더플로우 발생을 확실히 피하는 것이 가능한 화상 인코딩 장치(1)가 실현될 수 있다.
또한, 전술된 제 1 실시예는 가변 길이 코딩 회로(1)에서 코딩 시스템으로서 후프만 코드를 이용하는 경우를 다루었다. 그러나, 본 발명은 이것에 제한되지 않을 뿐 아니라 여러 코딩 시스템이 가변 길이 코딩 회로(11)에서 코딩 시스템으로서 적용될 수 있다.
또한, 전술된 제 1 실시예는 예를 들어 영상의 그룹(GOP)으로서 15개의 프레임을 형성하며, 하나의 장치로서 그것을 처리하는 경우를 다루었다. 그러나, 본 발명은 이것에 제한되지 않을 뿐 아니라, 이러한 GOP를 형성하기 위해서 프레임 수가 다른 여러 수로 구성될 수 있다.
또한, 전술된 제 1 실시예가 프레임당 각각의 화상을 코딩하는 경우를 다루었다. 그러나, 본 발명은 이것에 제한되지 않을 뿐 아니라 코딩이 필드, 또는 프레임 및 필드의 결합에 대해서 구성될 수 있다. 그처럼 배열되어 비-비월 스캐닝 시스템에 호환되게 된다.
또한, 전술된 제 1 실시예는 코딩의 타겟이 되는 화상의 화상 코딩 타입을 판단하기 위해서 화상 코딩 타입 판단 수단으로서 화상 코딩 분류 회로(3) 및 코딩 제어 회로(7)를 이용하는 경우를 다루었다. 그러나, 본 발명은 이것에 제한되지 않을 뿐 아니라 화상 코딩 타입 판단 수단으로서 여러 다른 화상 코딩 타입 판단 수단이 적용될 수 있다.
또한, 전술된 제 1 실시예는 화상 코딩 타입 지정 회로(2), 화상 코딩 순서 분류 회로(3), 스캔 변환기(4), 예측 모드 결정 회로(5), 이동 벡터 검출 회로(6), 코딩 제어 회로(7), 동작 회로(8), DCT 회로(9), 양자화 회로(10), 가변 길이 코딩 회로(11), 역 양자화 회로(12), 역 DCT 회로(14), 계산기(15), 프레임 메모리(16) 및, 화상 코딩 타입 판단 수단의 출력에 기초해서 제, 제 2 및 제 3 화상을 코딩하기 위한 코딩 수단으로서 이동 보상 회로(17)를 이용하는 경우를 다루었다. 그러나, 본 발명은 이것에 제한되지 않을 뿐 아니라 여러 다른 제 1 코딩 수단이 코딩 수단으로서 적용될 수 있다.
또한, 전술된 제 1 실시예는, 화상 디코딩 장치의 버퍼내 코딩된 데이터의 데이터 점유율이 현재 코딩된 제 1, 제 2 또는 제 3 화상에 대해서 코딩 처리를 정지하도록 제 1, 제 2 및 제 3 화상에 대응하는 데이터 점유율 셋트의 제 1, 제 2 및 제 3 임계값으로부터 현재 코딩되는 제 1, 제 2 또는 제 3 화상에 대응하는 제 1, 제 2 또는 제 3 임계값보다 작으면 코딩된 화상이 발생되며, 이러한 계산에 기초하여 코드량을 계산하기 위해서 코딩 수단을 제어하기 위한 코딩 제어 수단으로서 코딩 제어회로(7)를 이용하는 경우를 다루었다. 그러나, 본 발명은 이러한 것에 제한되지 않을 뿐 아니라 다른 코딩 제어 수단이 코딩 제어 수단으로서 적용될 수 있다.
또한, 전술된 제 1 실시예는 세 개의 코딩 형태, 즉, I 영상, P 영상, 및 B 영상의 화상에서 화상 데이터를 코딩하는 경우를 다루었다. 그러나, 본 발명은 이것에 제한되지 않을 뿐 아니라 전술된 제 1 실시예와 같은 효과가 두 개의 코딩 타입 즉, I 영상 및 P 영상, 또는 I 형상 및 B 영상이 세 개의 코딩 타입 중에서 화상을 코딩하는데 사용되는 경우에 얻어질 수도 있다.
이와 연결되어, I 영상에 대응하는 제 1 임계값을 설정하는 것은 물론이고, VBV 버퍼에서 데이터 점유율의 임계값으로서, 제 1 임계값보다 큰 임계값은 P 영상 또는 B 영상에 대응하는 제 2 또는 제 3 임계값으로서 설정된다. 그러므로, I 영상보다 화상을 디코딩하는데 있어서 덜 중요한 P 영상 또는 B 영상이 우선 스킵될 수 있다.
그러므로, VBV 버퍼에서, 화상을 디코딩하는데 더 중요한 화상 코딩 타입의 영상의 더 중요한 화상 코딩 타입의 영상의 데이터 점유율이 고정될 수 있다. 그 결과, 화상을 악화시키지 않고 VBV 버퍼에서 언더플로우의 발생을 확실히 피할 수 있는 화상 인코딩 장치가 얻어질 수 있다.
(2) 제 2 실시예
도 8에서, 화상 인코딩 장치(25)는 인코딩 제어 장치(26)에서 입력 화상 신호(S25)상에서 코딩을 압축하기 위해서 전 처리와 같은 처리를 수행하며, 그후, FIFO(first-in-first-out) 메모리(27) 내에 소정의 시간만큼 출력 데이터를 지연한다. FIFO 메모리(12)의 출력 데이터는 화상 코딩 타입들, 즉, 코딩 수단이 되며, 그후 압축된 화상 데이터(S26)로서 출력되는 인코더(28)에 의해 각각의 영상에 대한 영상 형태에 따라서 코딩 방법에 의해서 압축 코딩된다.
인코더 제어 장치(11)의 출력 데이터에 기초해서 검출된 이동 벡터는 이동 검출 회로(14)에 의해 인코더(28)로 공급되며, 인코더(13)로부터 출력되도록 발생 비트 율 데이터(S27)와, 인코더 제어 장치(26)으로부터 출력되는 인트라 AC 데이터 (S28) 및 이동 검출 회로(30)로부터 출력되는 MC 나머지 데이터(S29)에 기초하여 코딩 제어 장치(31)에 의해서 제어된다.
도 8에 도시된 화상 인코딩 장치(25)는 전-코딩 화상 데이터의 특징에 기초한 코드 발생량을 제어하기 위해서 피드 순방향 타입 율 제어(feed forward type rate control)를 수행하기 위해서 집중된다.
여기서, 간단히 ME 나머지는 전체 영상에 대해서 이동 예측 에러의 절대 값을 합산하거나 제곱하여 얻어진 나머지이며, ME 나머지 데이터(S29)는 ME 나머지를 얻기 위한 데이터이다.
코딩 제어 장치(31)는 버스(32)를 통해서 서로 접속되는 CPU(중앙 처리 장치)(33), ROM(판독 전용 메모리)(34) 및 RAM(랜덤 억세스 메모리)(35)를 포함하는 컴퓨터로 형성된다. CPU(33)는 작용 영역으로서 RAM(35)을 사용하며, ROM(34) 내에 저장된 프로그램을 실행하는데, 이는 코딩 장치(31) 내에서 각각의 기능을 실현하기 위한 것이다. ROM(34)은 본 발명에 따른 화상 코딩 제어 프로그램이 저장되는 메모리, IC(집적 회로) 또는 하드디스크와 같은 자기 디스크, 기록 매체로서 플로피 디스크를 사용하는 어떤 메모리 장치이거나, 또는 기록 매체로서 CD(콤팩트디스크)-ROM과 같은 광 디스크를 이용하는 어떤 메모리가 이러한 메모리 장치를 위해서 사용될 수 있으며, 또는 다른 형태의 기록 매체를 이용하는 메모리 장치가 사용될 수 있다. 어떤 경우이든, IC 및 여러 다른 기록 매체는 본 발명에 따른 화상 코딩 제어 프로그램이 사용될 수 있는 매체에 대응한다.
도 9에 도시된 바와 같이, 인코더 제어 장치(26)는, 입력 신호(S25)를 입력하며, 코딩 순서로 영상(I 영상, P 영상 및 B 영상)을 분류하는 화상 분류 회로(41), 이러한 화상 분류 회로(41)의 입력 데이터를 입력하며, 프레임 구성인지 필드 구성인지를 판단하며, 16 X 16 화소의 변환 및 매크로 블록킹을 스캔하는 스캔 변환/매크로 블록킹 회로(42)와, 이러한 스캔 변환/매크로 블록킹 회로(42)의 출력 데이터를 입력하며, I 영상내의 인트라 AC를 계산하며, 인트라 AC 데이터(S28)를 코딩 제어 장치(31)로 전달하며, 스캔 변환/매크로-블록킹 회로(42)의 출력 데이터를 FIFO 메모리(27) 및 이동 검출 회로(30)로 전달하는 인트라 AC 계산 회로(43)를 포함한다.
여기서, 인트라 AC는 8 X 8 화소의 DCT(분산 코사인 변환)블록내의 각 화소의 화소 값과 DCT 블록내의 화소값의 평균값 사이의 차이의 절대값의 합으로서 규정되며, 그것은 영상 패턴의 복잡성을 나타낸다.
인코더(28)는 FIFO 메모리(27)의 출력 데이터와 감산 회로(44)내의 예측 화상 데이터 사이의 차를 계산한다. DCT 회로(45)는 DCT 계수를 출력하기 위해서, 각 DCT 블록에 대한 감산 회로(44)의 출력 데이터 상에서 DCT를 수행하며, DCT 회로(45)의 출력 데이터는 양자화 회로(46) 및 가변 길이 코딩 회로(47)에 의해 코딩된 가변 길이에 의해 양자화된다. 이러한 가변 길이 코딩 회로(47)의 출력은 버퍼 메모리(48) 내에 한번 유지되며, 고정된 비트율을 갖는 비트 스트림에 의해 형성된 압축된 화상 데이터(S26)로서 출력된다.
양자화 회로(46)의 출력 데이터는 역 양자화 회로(49)에 의해 역으로 양자화되며, 역 DCT 회로(50)는 이러한 역 양자화 회로(49)의 출력 데이터에 역 DCT를 수행한다. 이러한 역 DCT 회로(50)의 출력 데이터는 가산 회로(51)에 의해 예측 화상 데이터가 가산되며, 이러한 가산 회로(51)의 출력은 이동 보상 회로(52)에서 유지되는데 여기서 그것은 이동 검출 회로(14)로부터 공급되는 이동 벡터에 따라서 이동 보상을 수행한다. 예측 화상 데이터는 감산 회로(44) 및 가산 회로(31)에 출력된다.
버퍼 메모리(48)는 가변 길이 코딩 회로(47)로부터 발생된 비트 율을 표시하는 발생 비트 율 데이터(S27)을 코딩 제어 장치(31)로 전송한다.
이동 검출 회로(30)는, 코딩되는 영상의 타겟 매크로 블록과 인코더 제어 장치(26)의 출력 데이터에 기초해서 일컬어지는 영상상의 타겟 매크로 블록 사이의 화소 값 차이의 제곱 합 또는 절대값 합이 최소가 되는 매크로 블록에 대해 탐색한 후에, 이동 벡터를 검출하며, 이동 보상 회로(52)에 출력한다. 그러나, 이동 벡터를 얻는 경우에, 이동 검출 회로(30)는 ME 나머지 데이터(S29)로서 최소가 되는 매크로 블록내의 화소값의 차이의 제곱 합 또는 절대값 합을 코딩 제어 장치(31)에 전송한다.
코딩 제어 장치(31)는 ME 나머지 계산 장치(61)에서, 이동 검출 회로(30)로부터 전체 영상으로 ME 나머지 데이터(S29)를 가산하는 값인 ME 나머지를 계산한다. 코딩 난이도(difficulty) 계산 장치(42)는 ME 나머지 계산 장치(61)에 의해 계산된 ME 나머지 및 인트라 AC 동작 회로(43)로부터 인트라 AC 데이터(S28)에 기초한 영상 코딩의 난이도 정도를 표시하기 위해서 코딩 난이도를 계산한다. VBV 버퍼 크기 계산 장치(62)는, 버퍼 메모리(48)로부터 발생 비트 율 데이터(S27)에 기초한 제 2 실시예에 따른 화상 인코딩 장치(28)에 의해 코딩된 화상 데이터 압축을 확장시키기 위해서 화상 디코딩 장치내의 입력 버퍼에 대응하는 가상 버퍼인 VBV 버퍼내 데이터 점유율을 계산한다. ME 나머지는 화상의 이동 속도와 영상 패턴들의 복잡성을 표시한다.
코딩 제어 장치(31)는 VBV 버퍼 크기 계산 장치(62)에 의해 계산된 VBV 버퍼 크기와 코딩 난이도 계산 장치(63)에 의해 계산된 코딩 난이도 정도에 기초한 타겟 코드량을 결정하는 것은 물론이고, VBV 버퍼내 언더플로우를 피하기 위해서 화상상의 코딩 압축을 중지시키기 위해서 스킵핑을 수행하는지 여부를 판단하는 타겟 코드량 결정 장치(64)를 포함한다. 양자화 인덱스 결정 장치(65)는, 인코더(28) 내에서 발생된 타겟 코드량이 되도록 양자화 회로(46)내의 양자화 특성값에 대응하는 양자화 인덱스를 결정하며, 그것을 양자화 회로(46)로 전달한다. 이러한 방식으로, 스킵 제어 장치(66)는, 타겟 코드량 결정 장치(64)가 스킵핑을 수행하는 것을 판단할 때 스킵핑을 수행하도록 양자화 회로(46) 및 가변 길이 코딩 회로(47)를 제어한다.
이 시점에서, 코딩 난이도가 기술된다. 코딩 난이도는 영상 코딩 난이도의 정도를 나타내거나 또는 다른 방식으로 나타내는데, 이것은 일치하는 화질을 유지하는데 필요한 데이터량의 비율로 변환될 수 있다. 코딩 난이도의 정도를 수치로 변환하기 위한 여러 방법이 고려되지만, 제 2 실시예에 따라서, I 영상상의 코딩 난이도 정도는 인트라 AC를 이용하여 얻어지며, P 영상 및 B 영상상의 코딩 난이도의 정도는 ME 나머지를 이용하여 얻어질 수 있다. 전술된 바와 같이, 인트라 AC는 영상 패턴의 복잡성을 나타내며, ME 나머지는 화상의 이동 속도와 영상 패턴의 복잡성을 나타내며, 이것들이 코딩 난이도와 강하게 관련되므로, 코딩 난이도의 정도는 인트라 AC 및 ME 나머지를 변수들로 만들어 선형 함수들에 의해 인트라 AC 및 ME 나머지로부터 계산될 수 있다.
그 다음에, VBV 버퍼내의 언더플로우의 위험 발생을 결정하는 방법은 코딩 난이도의 정도에 기초해서 설명된다. 전술된 바와 같이, VBV 버퍼의 언더플로우는 발생된 코드량이 타겟 코드량보다 훨씬 초과할 때 발생한다. 이것은 입력 화상의 코딩 난이도가 비트율에 대해서 매우 클 때, 언더플로우가 발생됨을 의미한다. 따라서, VBV 버퍼내의 언더플로우의 위험을 판단하기 위해서 파라미터로서 비트율에 대한 코딩 난이도의 비율을 이용하는 것이 적당하다. 또한, VBV 버퍼내의 언더플로우의 위험을 판단하기 위해서, 코딩되는 예측 영상의 여러 수내에서 상기 비트율에 대한 코딩 난이도의 비율을 보는 것이 중요하다. 이것은 코딩 난이도 정도가 영상 타입에 따라서 변화되기 때문이다. 따라서, 제 2 실시예에서, 다음 식에 따라서 결정되는 파라미터(x)는 VBV 버퍼의 언더플로우의 위험을 판단하기 위해서 파라미터로서 사용된다.
여기서, Dk는 영상 k의 코딩 난이도의 정도를 나타내며, k는 영상의 코딩 순서를 나타내며, 다음으로 코딩되는 영상은 k=1 이다. ∑는 k=1 내지 N 의 합을 의미한다(N은 GOP(영상 그룹)에 대한 영상의 수이다). 또한, G는 다음 식에 의해 규정된다.
식 (2)에서, [비트 율]은 통신 회로의 전송 용량 및 기록 매체의 기록 용량에 기초해서 결정되도록 초당 데이터 율[비트 율]을 나타내며, [영상 율]은 초당 영상의 수이다(예를 들면, NTSC 지역 내에서는 30이며, PAL 지역 내에서는 25이다). 따라서, G는 영상의 N 수에 대응하는 시간에 할당되도록 데이터 율(비트 율)을 도시하며, x는 영상의 N 수에 대응하는 시간에 할당되도록 데이터 율(비트 율)에 대한 영상의 N 수의 인코딩 난이도 합의 비를 나타낸다.
그러나, x는 영상의 N 수를 이용하여 얻어질 필요가 없으며 오히려 N 보다 크거나 작은 영상의 수를 이용하므로 얻어질 수 있다. 그러나, 취해진 수가 N 보다 훨씬 클 때 언더플로우의 위험을 판단하는데 정확도가 떨어지며, 파라미터(x)의 변화는 취해진 수가 N 보다 훨씬 작을 때 커진다는 사실을 알아야 한다.
그 다음에, 제 2 실시예에 따른 화상 인코딩 장치(25)의 동작이 설명된다. 입력 화상 신호(S25)가 인코더 제어 장치(26)에 입력된다. 인코더 제어 장치(26)에서, 먼저, 영상은 화상 분류 회로(41)에 의해 I 영상, P 영상 및 B 영상의 순서로 저장되며, 그후, 그것들이 프레임 구성 또는 필드 구성인지를 판단하며, 그 판단 결과로서, 스캔 변환/매크로 블록킹이 스캔 변환/매크로 블록킹 회로(42)에 의해서 수행되며, 다음에, I 영상의 경우에, 인트라 AC는 내부 AC 동작 회로(43)에 의해 계산되며, 인트라 AC 데이터 S28는 코딩 제어 장치(31)로 공급된다. 또한, 스캔 변환/매크로 블록킹 회로(42)의 출력 데이터는 인트라 AC 동작 회로(43)를 통해서 FIFO 메모리(27) 및 이동 검출 회로(30)로 공급된다.
코딩되는 영상에 이어지는 영상의 N 수의 코딩 난이도를 계산하는데 필요한 시간만큼 입력 화상 데이터를 지연하는, 코딩 난이도 계산 장치(63)내의, FIFO 메모리(27)는 인코더(28)에 출력한다. 이동 벡터를 검출하며, 이것을 이동 보상 회로(52)로 전달하는, 이동 검출 회로(30)는 ME 나머지 데이터(S29)를 ME 나머지 계산 장치(61)로 전달한다.
P 영상의 경우에, 디코더(28) 내에서 FIFO 메모리(27)의 출력 데이터는 감산 회로(44)내의 예측 화상 데이터 사이의 차를 계산하지 않고도 DCT 회로(45)로 직접 출력되며, DCT를 수행하며, DCT 계수는 양자화 회로(46)에 의해 양자화되며, 양자화 회로(46)의 출력 데이터는 가변 길이 코딩 회로(47)에 의해 코딩된 가변 길이이며, 가변 길이 코딩 회로(47)의 출력 데이터는 버퍼 메모리(48)에 의해 일단 유지되며, 고정된 비트율을 갖는 비트열로 형성된 압축된 화상 데이터(S26)로서 출력된다.
또한, 양자화 회로(46)의 출력 데이터는 역 양자화 회로(49)에 의해 역 양자화되며, 역 양자화 회로(49)의 출력 데이터는 역 DCT 회로(50)에 의해 역 DCT를 수행하며, 역 DCT 회로(50)의 출력 화상 데이터는 가산 회로(51)를 통해서 이동 보상 회로(52)로 공급되며, 그것에서 스킵된다.
P 영상에서는, 인코더(28)에서, 예측 화상 데이터는 화상 데이터로부터 이동 벡터에 기초하여 형성되며, 예측 화상 데이터는 감산 회로(44) 및 가산 회로(51)로 출력된다. 또한, FIFO 메모리(27)의 출력 데이터와 이동 보상 회로(52)로부터의 예측 화상 데이터 사이의 차이는 감산 회로(44)에 의해서 계산되며, DCT는 DCT 회로(45)에 의해 수행되며, DCT 계수는 양자화 회로(46)에 의해 양자화되며, 양자화 회로(46)의 출력 데이터는 가변 길이 회로(47)에 의해 코딩된 가변 길이이며, 가변 길이 코딩 회로(47)의 출력 데이터는 일단 저장되어 버퍼 메모리(48)에 의해 압축된 화상 데이터(S26)로서 출력된다. 또한, 역 양자화 회로(49)는 양자화 회로(46)의 출력 데이터를 양자화하며, 역 DCT 회로(50)는 역 양자화 회로(46)의 출력 데이터로 역 DCT를 수행하며, 가산 회로(51)는 역 DCT 회로(50)의 출력 데이터를 예측 화상 데이터로 가산하며, 이것을 유지시키기 위해서 이동 보상 회로(52)로 공급한다.
B 영상의 경우에서, 인코더(28)에서, 예측 화상 데이터는 이동 보상 회로(52) 및 이동 검출 회로(30)로부터의 두 개의 이동 벡터에 의해 유지된 과거 및 미래의 I 영상 또는 P 영상에 대응하는 두 개의 화상 데이터에 기초해서 형성되며, 예측 화상 데이터는 감산 회로(44) 및 가산 회로(51)에 출력된다. 또한, FIFO 메모리(27)의 출력 데이터와 이동 보상 회로(52)로부터의 예측 화상 데이터 사이의 차이는 감산 회로(44)에 의해 계산되며, DCT 회로(45)에 의해 DCT 실행되며, DCT 계수는 양자화 회로(46)에 의해 양자화되며, 양자화 회로(46)의 출력 데이터는 가변 길이 코딩 회로(47)에 의해 가변 코딩되며, 일단 가변 길이 코딩 회로(47)의 출력 데이터를 유지하여, 버퍼 메모리(48)는 이것을 압축된 화상 데이터(S26)로서 출력한다. B 영상은 이동 보상 회로(52) 내에서 유지되지 않게 된다.
버퍼 메모리(48)는, 가변 길이 코딩 회로(47)에 의해 발생되는 비트율을 나타내는 발생 비트 율 데이터(S27)를 코딩 제어 장치(31)로 공급한다.
다음으로, 코딩 제어 장치(31)의 기능은 도 10의 흐름도를 참조하여 설명된다. 이러한 동작에서, 코딩 난이도의 정도는 인트라 AC 동작 회로(43)로부터의 인트라 AC 데이터(S28) 및 코딩 난이도 계산 장치(63)에 의해서 ME 나머지 계산 장치(61)에서 계산된 ME 나머지로부터 계산되며, 파라미터(x)가 얻어진다(단계 S21). 파라미터(x)는 코딩되는 예측 영상을 따라서 영상의 N 수의 코딩 난이도 정도에 기초하여 계산된다.
그후, 스킵 플래그가 "1" 인지 여부가 판단된다(단계 S22). 스킵 플래그가 "1"일 때, 그것은 코딩되는 예측 영상이 스킵됨을 나타내며, 스킵 플래그가 "0"일 때, 그것은 코딩되는 예측 영상이 스킵되지 않음을 나타낸다.
스킵 플래그 "0"인 경우에(네거티브 결과가 단계(S22)에서 얻어질 때), 영상 j의 타겟 코드량은 파라미터(x)에 의해 계산된 VBV 버퍼 크기에 기초하여 타겟 코드량 결정 장치(64) 및 VBV 크기 계산 장치(62)에 의해 계산되며(단계 S23) 양자화 인덱스 결정 장치(65)에 전송된다. 영상 j는 그후 코딩되는 영상을 의미한다.
그후, 양자화 인덱스 결정 장치(65)는 인코더(28)내의 코드 발생량이 타겟 코드량 결정 장치(64)에 의해 결정된 타겟 코드량이 되기 위해서 양자화 회로(46)내의 양자화 특성값에 대응하는 양자화 인덱스를 결정하며, 이것을 양자화 회로(46)에 전달한다. 그후, 영상 j의 코딩이 실행된다(단계 S24).
한편, 스킵 플래그가 "1"인 경우(긍정적인 결과가 단계(S22)에서 얻어졌을 때), 타겟 코드량 결정 장치(64)가 영상 j을 스킵하기 위해서 스킵 제어 장치(66)를 지정하며, 이것에 응답하여 스킵 제어 장치(66)는 전의 프레임을 디스플레이하도록 처리한다(단계 S25). 특히, 스킵 제어 회로(66)는, 매크로 블록당 스킵하도록 양자화 회로(46)를 제어하는 것은 물론이고, 스킵되는 매크로 블록의 어드레스 정보를 가변 길이 코딩 회로(47)로 전달한다. 이것에 응답하여, 스킵되는 정보를 코딩한 후에 가변 길이 코딩 회로(47)가 출력한다. 따라서, 영상 j는 스킵되는 매크로 블록인 스킵 매크로 블록에 의해 형성되도록 형상으로서 코딩된다.
단계(S24) 또는 단계(S25)가 종료될 때, VBV 버퍼 크기 계산 장치(62)는 단계(S24) 또는 단계(S25)에서 발생된 비트율로부터 VBV 버퍼 크기 Bj를 계산한다(단계 S26). VBV 버퍼 크기 Bj는 영상 j가 코딩되기 전에 VBV 버퍼 크기로부터 영상 j에 의해 발생된 비트율을 감산하고, 인트라 I 영상의 시간에 VBV 버퍼내에 저장되는 비트율을 가산함으로써 얻어질 수 있다. 그후, 다음 영상의 영상 타입이 판단된다(단계 S27). 영상 타입가 B 영상일 때, VBV 버퍼 크기 Bj가 B 영상에 대한 점유 율 판단 임계값 Th(B) 보다 작은지 여부가 판단된다(단계 S28). 영상 타입가 P 영상일 때, VBV 버퍼 크기 Bj가 P 영상에 대한 점유 율 판단 임계값 Th(P)도다 작은지 여부가 판단된다(단계 S29). 영상의 형태가 I 영상일 때, VBV 버퍼 크기 Bj 가 I 영상에 대한 점유 율 판단 임계값 Th(I) 보다 작은지 여부가 판단된다(단계 S30). 점유율 판단 임계값은 Th(B) 〉Th(P) 〉Th(I)가 되도록 설정된다.
Bj가 Th(B)보다 작지 않으면(네거티브 결과가 단계(S28)에서 얻어질 때), Bj는 Th(P)보다 작지 않거나(네거티브 결과가 단계(S29)에서 얻어질 때) Bj가 Th(I)보다 작지 않은데(네거티브 결과가 단계(S30)에서 얻어질 때). 왜냐하면 다음 영상을 스킵하는 것이 필요하지 않으며, 스킵 플래그는 "0"으로 설정되기 때문이다(단계 S31).
Bj가 Th(B)보다 작을 때(긍정적인 결과가 단계(S28)에서 얻어질 때), Bj는 Th(P)보다 작거나(긍정적인 결과가 단계(S29)에서 얻어질 때) Bj가 Th(I)보다 작으며(긍정적인 결과가 단계(S30)에 있을 때), 파라미터(x)가 고정된 코딩 난이도 판단 임계 값 Th(x)를 초과하는지 여부가 판단된다(단계 S32). 발생된 코드들의 양이 타켓 코드량을 많이 초과할수록, 영상 패턴에 더 복잡한지 여부를 판단하기 위한 임계값이 임계값 Th(x)이다. x가 Th(x)(N)보다 작으면, 이것은 영상 패턴이 그다지 복잡하지 않음을 의미하며, 다음 영상을 스킵하는 것이 필요치 않으므로, 스킵 플래그는 "0"로 설정된다(단계 S31). 한편, x가 Th(x)를 초과하는 경우에(긍정적인 결과가 얻어질 때), 이것은 그후에 복잡한 영상 패턴이 연속됨을 의미하며, 이것은 VBV 버퍼의 언더플로우의 높은 가능성이 있음을 의미하며, 스킵 플래그가 다음 영상을 스킵하기 위해서 "1"로 설정된다(단계 S33).
스킵 플래그들의 설정(단계 S31, 단계 S33)이 완료될 때, 다음 영상의 처리를 위해서 새로운 j로서 (단계 S34) j+1을 형성하는 메인 루틴으로 돌아간다(단계 SP35).
전술된 바와 같이, 제 2 실시예에 따른 화상 인코딩 장치(25)에서, VBV 버퍼 크기 판단을 위한 임계값이 B 영상, P 영상 및 I 영상의 순서로 스킵하는 것은 물론이고 영상에 의해 설정되므로 스킵핑이 수행되거나 이미 코딩된 영상을 따르는 여러 영상 수의 코딩 난이도 정도에 기초해서 판단되지 않으며, 화질상에서 더 작은 효과를 갖는 B 영상이 입력 화상의 영상 패턴이 복잡해지며, VBV 버퍼의 언더플로우가 발생될 것 같은 경우에 잠재적으로 스킵되며, 실제로, VBV 버퍼의 언더플로우가 발생되지 않을 것 같으면, 영상은 스킵되지 않으며, 화질에 대한 영향을 가능한 작게 조절함으로써, VBV 버퍼의 언더플로우가 방지될 수 있다.
또한, 본 발명은 전술된 제 2 실시예에 제한되지 않는다. 그러나, 예를 들어서, 코딩 난이도 정도가 본 실시예에서 사용된 파라미터(x)에 더해서 판단하기 위해서 기준에서 증가하거나 감소하는지 여부의 정보를 포함함으로써 코딩 난이도에 기초하여 스킵핑을 수행하는지 여부를 판단하는 경우에, 입력 화상의 영상 패턴의 복잡성에서 예측 정밀도가 더 개선되며, 스킵핑을 수행하는지 여부에 대한 판단이 적절하게 수행될 수 있다. 특히, 코딩 난이도가 현재 큼에도 불구하고 코딩 난이도가 감소하는 경우에, VBV 버퍼의 언더플로우가 스킵핑조차도 수행하지 않는 경우가 있으며, 필요치 않을 때 스킵핑을 수행하지 않도록 스킵핑 수를 가능한 작게 줄이는 것이 가능해 진다. 코딩 난이도의 변화 경향에 대한 정보는 예를 들어 최소 제곱 방법에 의해 시간 시리즈로 얻어진 코딩 난이도를 선형으로 근사함으로써 경사도로부터 얻어진다. 이 경우에, 코딩 난이도에 대한 변화 경향의 정보는 예들 들면, 도9의 코딩 난이도 계산 장치(63)에서 얻어진다.
또한, 도8에 도시된 바와 같이, 전술된 제 2 실시예는 인코더(28)를 제외하고 다른 인코더를 제공하지 않고 인코딩되기 전에 화상 데이터의 특징에 기초한 코드 발생량을 제어하기 위해서 피드 순방향 타입 율 제어를 수행하는 경우를 취급하였다. 그러나, 본 발명은, 인코딩된 후에 데이터 율을 계산하기 위해 인코더(28)와는 다른 제 1 베이스 인코더가 제공되는 구성 및 제 1 베이스 인코더 인코딩에 의해 계산된 데이터 율에 기초한 제 2 베이스 인코더(28) 내에서 코드 발생량을 제어하기 위해서 피드 순방향 타입 율 제어에 적용된다. 이 경우에, 코딩 난이도 정도는 제 1 베이스 인코더에 의해 인코딩함으로써 얻어진 코드 발생량에 기초해서 얻어질 수 있다.
또한, 본 발명은 피드 순방향 타입 율 제어를 수행하는 구성만이 아니라 이미 코딩된 영상의 코딩 난이도에 기초한 영상의 코딩 난이도를 계산함으로써 MPEG 시스템의 압축된 알고리즘으로서 유명한 TM5(테스트 모델 5; ISO/IEC/SC29(1993))와 같은 것으로서 표시된 과거의 코딩에 의해 얻어진 코드 발생량에 기초한 코드 발생량을 제어하기 위해서 피드백 형 율 제어를 수행하는 구성에 적용될 수 있다. 이 경우에, 예를 들어, 과거에 인코딩된 영상의 전체적인 복잡성의 경향이 분석되며, 그후 여러 영상의 코딩 난이도의 정도가 선형 근사치에 의해 예측되며, 이러한 예측된 코딩 난이도에 기초해서 이 실시예에서 사용된 피라미터(x)가 얻어지며, 스킵핑을 수행하는지 여부는 본 실시예에서와 같은 방식으로 파라미터(x)의 값에 기초해서 판단된다.
전체적인 복잡성은 스크린의 복잡성을 표시하기 위한 파라미터이며 코딩 난이도에 관련되며, 정확히 말해서, 그것은 영상을 코딩하는 경우에 코드 발생량과 영상을 인코딩하는 경우(Ohm-sha에 의해 출판된,"Multimedia, by Television Academic Association MPEG", p.111을 언급함)의 평균 양자화 스케일 코드(양자화 특성 값)의 곱으로서 얻어질수 있다.
또한, 피드 순방향 타입 율 제어가 수행되는 구성에 따라서 선형 근사치에 의해 코딩 난이도의 정도의 변화 경향을 얻는 경우 또는 피드백 형 율 제어가 수행되는 구성에 따라서 선형 근사치에 의해 여러 영상의 코딩 난이도의 정도를 예측하는 경우에, 코딩 난이도의 연속성이 장면이 변화될 때 사라지게 된다. 그러므로, 장면이 변하는 경우에, 코딩 난이도의 변화 경향을 얻기 위한 처리 및 코딩 난이도를 계산하기 위한 처리가 장면 변화 전에 완료되며, 새로운 처리가 장면 변화 후에 수행되면, 정밀도가 더 개선될 수 있다.
또한, 코딩 난이도의 정도는 본 실시예에서 얻어진 인트라 AC 및 ME 나머지(ME residue)를 이용함으로써 표시될 수 있을 뿐 아니라 영사의 코딩 난이도의 정도를 표시하기 위해 제공되는 다른 파라미터에 의해서도 표시될 수 있다.
또한, 전술된 실시예는 영상 형태에 따른 VBV 버퍼 크기를 판단하기 위한 임계값을 변화시키는 경우를 다루었다. 그러나, 본 발명은 영상 타입에 관계없이 VBV 버퍼를 판단하기 위한 임계값이 일정한 경우를 포함한다.
본 발명은 영상 데이터를 전송하기 위해 송신 측에서 영상 데이터를 압축하기 위한 통신 시스템과, 화상 데이터를 압축 및 기록하고 재생 시 압축된 데이터를 확장 및 출력하기 위한 압축된 화상 기록 및 재생 장치에 응용될 수 있다.

Claims (24)

  1. 비디오 신호들 중에서 제 1 화상 코딩 타입으로 지정된 미리 결정된 영상 단위의 제 1 화상을 인트라-코딩(intra-coding)하는 처리를 제 1 코딩 처리로서 실행하고, 상기 비디오 신호들 중에서 제 2 화상 코딩 타입으로 지정된 미리 결정된 영상 단위의 제 2 화상을 순방향으로 예측 코딩하는 처리를 제 2 코딩 처리로서 실행하며, 상기 비디오 신호들 중에서 제 3 화상 코딩 타입으로 지정된 미리 결정된 영상 단위의 제 3 화상을 양방향으로 예측 코딩하는 처리를 제 3 코딩 처리로서 실행하고, 상기 코딩된 비디오 신호들을 화상 디코딩 장치로 전송하기 화상 인코딩 장치로서,
    코딩될 대상 화상의 화상 코딩 타입을 판단하는 화상 코딩 형태 판단 수단과,
    상기 화상 코딩 타입 판단 수단의 출력에 기초해서 상기 제 1, 제 2 또는 제 3 코딩 처리를 실행하는 코딩 수단과,
    상기 코딩된 화상의 코드 발생량을 계산하고, 상기 계산에 기초하여, 상기 화상 디코딩 장치의 입력 버퍼에 대응하는 가상 버퍼에서의 데이터 점유율이, 상기 제 1, 제 2 및 제 3 코딩된 화상들에 대응되어 설정된 상기 데이터 점유율의 제 1, 제 2 및 제 3 임계값들 중에서, 현재 코딩되는 상기 제 1, 제 2 또는 제 3 화상에 대응하는 상기 제 1, 제 2 또는 제 3 임계값보다 작게 피는 상기 코드 발생량이 발생한 경우에, 현재 실행되는 상기 제 1 , 제 2 또는 제 3 코딩 처리를 정지하도록 상기 코딩 수단을 제어하는 코딩 제어 수단을 포함하는 화상 인코딩 장치.
  2. 제 1 항에 있어서,
    상기 제 1, 제 2 및 제 3 임계값들은 제 1 임계, 제 2 임계 및 제 3 임계의 순서로 증가하도록 설정된, 화상 인코딩 장치.
  3. 제 1 항에 있어서,
    상기 코딩 제어 수단은, 상기 코딩 수단의 출력에 기초해서, 코딩될 상기 화상의 예측 화상이 코딩되지 않았다고 판단되면, 상기 예측 화상을 이용하여 디코딩 되도록 모든 화상들에 대한 상기 코딩 처리를 정지하도록 상기 코딩 수단을 제어하는, 화상 인코딩 장치.
  4. 비디오 신호들 중에서 제 1 화상 코딩 타입으로 지정된 미리 결정된 영상 단위의 제 1 화상을 인트라-코딩하는 처리를 제 1 코딩 처리로서 실행하고, 상기 비디오 신호들 중에서 제 2 화상 코딩 타입으로 지정된 미리 결정된 영상 단위의 제 2 화상을 순방향으로 예측 코딩하는 처리를 제 2 코딩 처리로서 실행하고, 상기 비디오 신호들 중에서 게 3 화상 코딩 타입으로 지정된 미리 결정된 영상 단위의 제 3 화상을 양방향으로 예측 코딩하는 처리를 제 3 코딩 처리로서 실행하고, 상기 코딩된 비디오 신호들을 화상 디코딩 장치에 전송하는 화상 코딩 방법으로서,
    상기 코딩된 화상의 코드 발생량을 계산하는 코드 발생량 계산 단계와,
    상기 코드 발생량 계산 단계의 계산 결과에 기초하여, 상기 화상 디코딩 장치의 입력 버퍼에 대응하는 가상 버퍼에서의 데이터 점유율이, 상기 제 1, 제 2 및 제 3 화상들에 대응되어 설정된 상기 데이터 점유율의 제 1, 제 2 및 제 3 임계값들 중에서, 현재 코딩되는 상기 제 1, 제 2 또는 제 3 화상에 대응하는 상기 제 1, 제 2 또는 제 3 임계값보다 작게 되는 상기 코드 발생량이 발생한 경우에, 현재 실행되는 상기 제 1 , 제 2 또는 제 3 코딩 처리를 정지시키는 코딩 처리 정지 단계를 포함하는 화상 코딩 방법.
  5. 제 4 항에 있어서,
    상기 제 1, 제 2 및 제 3 임계값의 값들은 제 1 임계, 제 2 임계 및 제 3 임계의 순서로 증가하도록 설정된, 화상 코딩 방법.
  6. 제 4 항에 있어서,
    코딩될 상기 화상의 예측 화상에 대해 상기 코딩이 수행되지 않는 경우에, 상기 예측 화상을 이용하여 디코딩될 모든 화상들에 대한 상기 코딩을 정지하게 된는, 화상 코딩 방법.
  7. 비디오 신호들 중에서 제 1 화상 코딩 타입으로 지정된 미리 결정된 영상 단위의 제 1 화상을 인트라-코딩하는 처리를 제 1 코딩 처리로서 실행하고, 상기 비디오 신호들 중에서 제 2 화상 코딩 타입으로 지정된 미리 결정된 영상 단위의 제 2 화상을 순방향으로 예측 코딩하는 처리와, 상기 비디오 신호들 중에서 제 3 화상 코딩 타입으로 지정된 미리 결정된 영상 단위의 제 3 화상을 양방향으로 예측 코딩하는 처리 중 어느 한 자리를 제 3 코딩 처리로서 실행하고, 상기 코딩된 비디오 신호들을 화상 디코딩 장치로 전송하기 위한 화상 인코딩 장치로서,
    코딩될 대상 화상의 화상 코딩 타입을 판단하는 화상 코딩 타입 판단 수단과,
    상기 화상 코딩 타입 판단 수단의 출력에 기초해서 상기 제 1 또는 제 2 코팅 처리를 실행하는 코딩 수단과,
    상기 코딩된 화상의 코드 발생량을 계산하고, 상기 계산에 기초하여, 상기 화상 디코딩 장치의 입력 버퍼에 대응하는 가상 버퍼에서의 데이터 점유율이, 상기 제 1 및 제 2 코딩된 화상들에 대응되어 설정된 상기 데이터 점유율의 제 1 및 제 2 임계값들 중에서, 현재 코딩되는 상기 제 1 또는 제 2 화상에 대응하는 상기 제 1 또는 제 2 임계값보다 작게 되는 상기 코드 발생량이 발생한 경우에, 현재 실행되는 상기 제 1 또는 제 2 코딩 처리를 정지하도록 상기 코딩 수단을 제어하는 코딩 제어 수단을 포함하는 화상 인코딩 장치.
  8. 제 7 항에 있어서,
    상기 제 1 및 제 2 임계값들은 제 1 임계값 및 제 2 임계값의 순서로 증가하도록 설정된, 화상 인코딩 장치.
  9. 제 7 항에 있어서,
    상기 코딩 제어 수단은, 코딩될 화상의 예측 화상이 상기 코딩 수단의 출력에 기초하여 코딩되지 않았다고 판단되면, 상기 예측 화상을 이용하여 디코딩될 모든 화상들에 대해 상긴 코딩 처리를 정지하도록 상기 코딩 수단을 제어하는, 확상 인코딩 장치 .
  10. 비디오 신호들 중에서 제 1 화상 코딩 타입으로 지정된 미리 결정된 영상 단위의 제 1 화상을 인트라-코딩하는 처리를 제 1 코딩 처리로서 실행하고, 상기 비디오 신호들 중에서 제 2 화상 코딩 타입으로 지정된 미리 결정된 영상 단위의 제 2 화상을 순방향으로 예측 코딩하는 처리와, 상기 비디오 신호들 중에서 제 3 화상 코딩 타입으로 지정된 미리 결정된 영상 단위의 제 3 화상을 양방향으로 예측 코딩 하는 처리 중 어느 한 처리를 제 2 코딩 처리로서 실행하고, 상기 코딩된 비디오 신호들을 화상 디코딩 장치로 전송하는 화상 코딩 방법으로서,
    상기 코딩된 화상의 코드 발생량을 계산하는 코드 발생량 계산 단계와,
    상기 코드 발생량 계산 단계의 계산 결과에 기초하여, 상기 화상 디코딩 장치의 입력 버퍼에 대응하는 가상 버퍼에서의 데이터 점유율이, 상기 제 1 및 제 2의 화상들에 대응되어 설정된 상기 데이터 점유율의 제 1 및 제 2 임계값들 중에서, 현재 코딩되는 상기 제 1 또는 제 2 화상에 대응하는 상기 제 1 또는 제 2 임계값보다 작게 되는 상기 코드 발생량이 발생한 경우에, 현재 실행되는 상기 제 1 또는 제 2 코딩 처리를 정지시키는 코딩 처리 정지 단계를 포함하는 화상 코딩 방법.
  11. 제 10 항에 있어서,
    상기 제 1 및 제 2 임계값들은 상기 제 1 임계와 제 2 임계의 순서로 증가하도록 설정된, 화상 코딩 방법.
  12. 제 10 항에 있어서,
    상기 코딩이 코딩될 예측 화상에 대해 수행되지 않은 경우에, 상기 예측 화상을 이용하여 디코딩될 모든 화상들에 대한 상기 코딩은 정지하게 되는, 화상 코딩 방법 .
  13. 화상 인코딩 장치로서,
    영상 타입에 따른 코딩 방법에 의해 영상마다 입력 화상 데이터를 압축하는 코딩 수단과,
    상기 코딩 수단에 의해 하나의 영상의 코딩이 완료될 때, 상기 코딩 수단에 의해 압축된 화상 데이터를 확장시키는 화상 디코딩 장치에서의 입력 버퍼에 대응하는 가상 버퍼의 데이터 점유율을 계산하는 점유율 계산 수단과,
    상기 코딩 수단에 의해 이미 코딩된 영상에 이어지는 영상의 코딩 난이도의 정도를 계산하는 코딩 난이도 계산 수단과,
    상기 코딩 수단에 의해 하나의 영상의 코딩이 완료될 때, 상기 점유율 계산수단에 의해 계산되는 데이터 점유율이 고정된 데이터 점유율 판단 임계값보다 작고, 상기 코딩 난이도 계산 수단에 의해 계산되는 코딩 난이도의 정도가 지정된 표준에 부합되는 경우에, 코딩되는 대상 영상을 스킵 매크로 블록들에 의해 형성된 영상으로서 코딩하는 영상 스킵 제어 수단을 포함하는, 화상 인코딩 장치.
  14. 제 13 항에 있어서,
    상기 코딩 난이도 계산 수단은 상기 코딩 수단에 의해 코딩될 프리-코딩 화상 데이터에 기초하여 코딩 난이도의 정도를 계산하는, 화상 인코딩 장치.
  15. 제 13 항에 있어서,
    상기 영상 스킵 제어 수단은 영상 타입들에 따른 상기 데이터 점유율을 판단하기 위해 서로 다른 임계값들을 설정하는, 화상 인코딩 장치.
  16. 제 13 항에 있어서,
    상기 영상 스킵 제어 수단은, 고정된 수의 영상들에 대한 코딩 난이도들의 합으로부터 상기 고정된 수의 영상들에 대응하는 시간에 할당되는 데이터량을 감산함으로써 얻어질 값이, 지정된 코딩 난이도 판단 임계값보다 큰 경우에, 코딩 난이도의 정도가 기정된 표준에 부합됨을 판단하는, 화상 인코딩 장치.
  17. 영상 타입들에 따른 코딩 방법에 의해 영상마다 입력 화상 데이터를 압축하는 코딩 수단을 갖는 화상 인코딩 장치에서 코딩 수단을 제어하기 위한 황상 코딩 제어 방법으로서,
    상기 코딩 수단에 의해 하나의 영상의 코딩이 완료될 때, 압축된 화상 데이터를 확상시키는 화상 디코딩 장치의 입력 버퍼에 대응하는 가상 버퍼의 데이터 점유율을 계산하는 점유율 계산 단계와,
    상기 코딩 수단에 의해 코딩된 영상에 이어지는 영상의 코딩 난이도의 정도를 나타내는 코딩 나이도를 계산하는 코딩 난이도 계산 단계와,
    상기 점유율 계산 단계에 의해 계산되는 상기 데이터 점유율이 고정된 데이터 점유율 판단 임계값보다 작고, 상기 코딩 난이도 계산 수단에 의해 계산될 코딩 난이도의 정도가 지정된 표준에 부합되는 경우에, 하나의 영상의 코딩이 상기 코딩 수단에 의해 완료될 때, 스킵 매크로 블록들에 의해 형성되는 영상으로서 상기 코딩 수단에서 다음에 코딩될 예측 영상을 코딩하기 위한 영상 스킵 제어 단계를 포함하는 화상 코딩 제어 방법.
  18. 제 17 항에 있어서,
    상기 코딩 난이도 계산 단계는 상기 코딩 수단에 의해 코딩될 프리-코딩 화상 데이터에 기초하여 코딩 난이도 정도를 계산하는, 화상 코딩 제어 방법.
  19. 제 17 항에 있어서,
    상기 영상 스킵 제어 단계는 영상 타입들에 따른 서로 다른 데이터 점유율 판단 임계값들을 설정하는, 화상 코딩 제어 방법.
  20. 제 17 항에 있어서,
    상기 영상 스킵 제어 단계는, 고정된 수의 영상들에 대한 코딩 난이도들의 합으로부터 상기 고정된 수의 영상들에 대응하는 시간에 할당된 데이터량을 감산함으로써 얻어질 값이 지정된 코딩 난이도 판단 임계값보다 더 큰 경우에, 코딩 난이도의 정도가 지정된 표준에 부합됨을 판단하는, 화상 코딩 제어 방법.
  21. 화상 코딩 제어 프로그램이 기록된 매체로서, 상기 프로그램은 영상 타입들에 따른 코딩 방법에 의해 영상마다 입력 화상 데이터를 압축하는 코딩 수단을 갖는 화상 인코딩 장치내의 코딩 수단을 컴퓨터에 의해 제어하고, 상기 매체는, 상기 컴퓨터에 의해 하기 단계들, 즉,
    하나의 영상의 코딩이 상기 코딩 수단에 의해 완료될 때, 압축된 화상 데이터를 확장시키기 위해 화상 디코딩 장치에서의 입력 버퍼에 대응하는 가상 버퍼의 데이터 점유율을 계산하는 점유율 계산 단계와,
    상기 코딩 수단에 의해 이미 코딩된 영상에 이어지는 영상의 코딩 난이도의 정도를 나타내는 코딩 난이도를 계산하기 위한 코딩 난이도 계산 단계와,
    상기 점유율 계산 단계에 의해 계산되는 데이터 점유율이 고정된 데이터 점유율 판단 임계값보다 작고, 상기 코딩 난이도 계산 단계에 의해 계산되는 코딩 난이도의 정도가 지정된 표준에 부합되는 경우에, 상기 코딩 수단내의 스킵 매크로 블록들에 의해 형성되는 영상으로서 다음에 코딩될 대상 영상을 코딩하기 위한 영상 스킵 제어 단계를 포함하는 단계들을 실행하기 위한 화상 코딩 제어 프로그램을 기록하는, 화상 코딩 제어 프로그램이 기록된 매체.
  22. 제 21 항에 있어서,
    상기 코딩 난이도 계산 단계는 상기 코딩 수단에 의해 코딩될 프리-코딩 화상 데이터에 기초하여 코딩 난이도의 정도를 계산하는, 화상 코딩 제어 프로그램이 기록된 매체
  23. 제 21 항에 있어서,
    상기 영상 스킵 제어 단계는 영상 타입들에 따른 데이터 점유율 판단 임계값들을 설정하는, 화상 코딩 제어 프로그램이 기록된 매체.
  24. 제 21 항에 있어서,
    상기 영상 스킵 제어 단계는, 고정의 수의 영상들의 코딩 난이도들의 합으로부터 고정된 수의 영상들에 대응하는 시간에 할당된 데이터량을 감산함으로써 얻어지는 값이 상기 지정된 코딩 난이도 판단 임계값보다 더 큰 경우에, 상기 코딩 난이도가 상기 지정된 표준에 부합됨을 판단하는, 화상 코딩 제어 프로그램이 기록된 매체
KR1019970709318A 1996-04-12 1997-04-11 화상인코딩장치와방법및화상인코딩프로그램이기록된매체 KR100495716B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP11570996 1996-04-12
JP96-115709 1996-04-12
JP96-259729 1996-09-30
JP25972996 1996-09-30

Publications (2)

Publication Number Publication Date
KR19990022849A KR19990022849A (ko) 1999-03-25
KR100495716B1 true KR100495716B1 (ko) 2005-11-25

Family

ID=26454175

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970709318A KR100495716B1 (ko) 1996-04-12 1997-04-11 화상인코딩장치와방법및화상인코딩프로그램이기록된매체

Country Status (7)

Country Link
US (2) US6347117B1 (ko)
EP (2) EP1677546B1 (ko)
JP (1) JP3952509B2 (ko)
KR (1) KR100495716B1 (ko)
CN (1) CN1116768C (ko)
DE (1) DE69738878D1 (ko)
WO (1) WO1997039588A1 (ko)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3588970B2 (ja) 1997-04-30 2004-11-17 ソニー株式会社 信号符号化方法、信号符号化装置、信号記録媒体及び信号伝送方法
US6741651B1 (en) * 1998-01-21 2004-05-25 Matsushita Electric Industrial Co., Ltd. Variable-length encoder
GB2333657B (en) * 1998-01-22 2002-08-21 Snell & Wilcox Ltd Video signal compression
TW456148B (en) 1998-06-16 2001-09-21 United Video Properties Inc Interactive television program guide with simultaneous watch and record capabilities
US6567117B1 (en) * 1998-09-09 2003-05-20 Nippon Telegraph And Telephone Corporation Method for regulating image quality, picture communication equipment using same and recording medium having recorded therein a program for executing the method
JP4053668B2 (ja) * 1998-09-16 2008-02-27 パイオニア株式会社 情報記録装置及び情報記録方法
GB2346282B (en) 1999-01-28 2003-02-19 Snell & Wilcox Ltd Bit rate control in compression encoding
US6526097B1 (en) * 1999-02-03 2003-02-25 Sarnoff Corporation Frame-level rate control for plug-in video codecs
US6567554B1 (en) 1999-03-12 2003-05-20 Victor Company Of Japan, Limited Data coding method and apparatus therefor
CN1159916C (zh) 1999-06-22 2004-07-28 日本胜利株式会社 活动图象编码装置及其方法
US6639942B1 (en) * 1999-10-21 2003-10-28 Toshiba America Electronic Components, Inc. Method and apparatus for estimating and controlling the number of bits
JP2001148858A (ja) * 1999-11-18 2001-05-29 Sony Corp 画像情報変換装置及び画像情報変換方法
KR100585647B1 (ko) * 1999-12-30 2006-06-07 엘지전자 주식회사 엠펙 비디오 디코더에서의 매크로 블록 애더 제어 방법
CN1322759C (zh) * 2000-04-27 2007-06-20 三菱电机株式会社 编码装置和编码方法
GB0013273D0 (en) * 2000-06-01 2000-07-26 Philips Electronics Nv Video signal encoding and buffer management
KR100345447B1 (ko) * 2000-09-27 2002-07-26 한국전자통신연구원 스트리밍 서비스를 위한 가변 비트율 처리 방법
WO2002058401A1 (en) * 2001-01-22 2002-07-25 Stmicroelectronics Asia Pacific Pte Ltd Method and apparatus for video buffer verifier underflow and overflow control
JP3641214B2 (ja) * 2001-02-28 2005-04-20 株式会社東芝 動画像符号化装置および動画像符号化方法
US7054362B1 (en) * 2001-05-29 2006-05-30 Cisco Technology, Inc. Methods and apparatus for updating a reduction ratio
US7266150B2 (en) * 2001-07-11 2007-09-04 Dolby Laboratories, Inc. Interpolation of video compression frames
KR100475412B1 (ko) * 2002-03-11 2005-03-10 주식회사 럭스퍼트 상부 펌핑방식의 광소자
US7483488B1 (en) * 2002-05-30 2009-01-27 Intervideo, Inc. Systems and methods for improving bit rate control of video encoding by correcting for the effects of scene changes and bit stuffing in a video buffer verifier (VBV) buffer model
US7418037B1 (en) * 2002-07-15 2008-08-26 Apple Inc. Method of performing rate control for a compression system
US7046729B2 (en) * 2002-08-27 2006-05-16 Ess Technology, Inc. Bit rate control for motion compensated video compression system
US7940843B1 (en) * 2002-12-16 2011-05-10 Apple Inc. Method of implementing improved rate control for a multimedia compression and encoding system
US7804897B1 (en) 2002-12-16 2010-09-28 Apple Inc. Method for implementing an improved quantizer in a multimedia compression and encoding system
JP4179917B2 (ja) * 2003-04-22 2008-11-12 株式会社東芝 動画像符号化装置及び方法
US20050013496A1 (en) * 2003-07-16 2005-01-20 Bruls Wilhelmus Hendrikus Alfonsus Video decoder locally uses motion-compensated interpolation to reconstruct macro-block skipped by encoder
JP2005080004A (ja) * 2003-09-01 2005-03-24 Sony Corp 動画像符号化装置
CN1312930C (zh) * 2003-12-03 2007-04-25 明基电通股份有限公司 传输视频的方法及装置
US8295347B2 (en) 2004-08-25 2012-10-23 Sony Corporation Information processing apparatus and information processing method, recording medium, and program
JP4492484B2 (ja) 2005-08-22 2010-06-30 ソニー株式会社 情報処理装置および情報処理方法、記録媒体、並びに、プログラム
US8842660B2 (en) * 2006-03-31 2014-09-23 Microsoft Corporation VoIP variable metadata
JP5078852B2 (ja) * 2007-12-06 2012-11-21 キヤノン株式会社 動画像符号化装置及び動画像符号化方法
BR112012027960A2 (pt) * 2010-05-06 2018-05-08 Nippon Telegraph And Telephone Corporation "método e aparelho de controle de codificação de vídeo"
CN102986212B (zh) 2010-05-07 2015-11-25 日本电信电话株式会社 活动图像编码控制方法、活动图像编码装置
JP5879555B2 (ja) * 2010-05-10 2016-03-08 パナソニックIpマネジメント株式会社 動画像符号化装置
US9979970B2 (en) * 2014-08-08 2018-05-22 Qualcomm Incorporated System and method for determining buffer fullness for display stream compression
US9942552B2 (en) 2015-06-12 2018-04-10 Intel Corporation Low bitrate video coding
JP2017055275A (ja) 2015-09-10 2017-03-16 株式会社東芝 復号装置、及び映像伝送システム
MX2018010460A (es) * 2016-03-09 2019-01-14 Sony Corp Dispositivo de transmision, metodo de transmision, dispositivo de recepcion y metodo de recepcion.
US11729801B2 (en) * 2019-08-16 2023-08-15 Qualcomm Incorporated Dynamic HARQ-ACK codebook construction for multiple active semi-persistent scheduling configurations

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2617631B2 (ja) * 1991-05-15 1997-06-04 富士通株式会社 画像復号化システム
JP3187097B2 (ja) * 1991-10-17 2001-07-11 株式会社東芝 動画像符号化における符号量配分方法とこれを用いた動画像符号化方法及び装置
US5317397A (en) 1991-05-31 1994-05-31 Kabushiki Kaisha Toshiba Predictive coding using spatial-temporal filtering and plural motion vectors
JPH0514876A (ja) * 1991-07-05 1993-01-22 Hitachi Ltd 動画像符号化方式
US5231484A (en) * 1991-11-08 1993-07-27 International Business Machines Corporation Motion video compression system with adaptive bit allocation and quantization
SE9103380L (sv) 1991-11-15 1993-03-08 Televerket Foerfarande och apparat foer bildkodning med oeverhoppning av bilder och/eller komponenter
US5255090A (en) * 1991-11-19 1993-10-19 Scientific-Atlanta, Inc. Progressive transmission of vector quantized data
JP2871316B2 (ja) * 1992-07-10 1999-03-17 日本ビクター株式会社 動画像符号化装置
EP1069778A3 (en) 1993-04-09 2004-10-20 Sony Corporation Picture encoding method, picture encoding apparatus and picture recording medium
US5592225A (en) * 1993-09-30 1997-01-07 Matsushita Electric Industrial Co., Ltd. Device and method for controlling coding
DE4343450A1 (de) * 1993-12-20 1995-06-22 Philips Patentverwaltung Coder zur segmentweisen Codierung eines Eingangssignals
JPH07226935A (ja) * 1994-02-14 1995-08-22 Mitsubishi Electric Corp 画像情報圧縮装置
JP3203169B2 (ja) 1994-11-18 2001-08-27 三洋電機株式会社 Mpegビデオデコーダ
JP3203168B2 (ja) * 1994-11-30 2001-08-27 三洋電機株式会社 Mpegビデオデコーダ
US5754241A (en) 1994-11-18 1998-05-19 Sanyo Electric Co., Ltd Video decoder capable of controlling encoded video data
US5619341A (en) * 1995-02-23 1997-04-08 Motorola, Inc. Method and apparatus for preventing overflow and underflow of an encoder buffer in a video compression system
JP3182329B2 (ja) * 1995-11-15 2001-07-03 株式会社東芝 符号化データ編集装置とデータ復号装置
US5963256A (en) * 1996-01-11 1999-10-05 Sony Corporation Coding according to degree of coding difficulty in conformity with a target bit rate
US5719632A (en) * 1996-01-25 1998-02-17 Ibm Corporation Motion video compression system with buffer empty/fill look-ahead bit allocation
JPH10164581A (ja) * 1996-12-03 1998-06-19 Sony Corp 画像信号符号化方法及び装置、信号記録媒体
JPH10285548A (ja) * 1997-04-03 1998-10-23 Sony Corp 符号化装置及び方法、復号装置及び方法、編集方法
KR100239422B1 (ko) * 1997-10-28 2000-01-15 김영환 반도체 소자 및 제조 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
IEEE ISCAS(Vol. 1, pp. 284-287, 1991.06.11-14. (1991.06.11) *

Also Published As

Publication number Publication date
EP1677546A1 (en) 2006-07-05
CN1116768C (zh) 2003-07-30
DE69738878D1 (de) 2008-09-11
EP0836329A1 (en) 1998-04-15
CN1188582A (zh) 1998-07-22
US6535556B1 (en) 2003-03-18
WO1997039588A1 (en) 1997-10-23
US6347117B1 (en) 2002-02-12
EP0836329A4 (en) 2002-09-04
EP1677546B1 (en) 2008-07-30
JP3952509B2 (ja) 2007-08-01
KR19990022849A (ko) 1999-03-25

Similar Documents

Publication Publication Date Title
KR100495716B1 (ko) 화상인코딩장치와방법및화상인코딩프로그램이기록된매체
US9549195B2 (en) Image decoding device and method thereof using inter-coded predictive encoding code
US6628713B1 (en) Method and device for data encoding and method for data transmission
JP4345024B2 (ja) 画像符号化装置、画像符号化方法及び画像符号化プログラムを記録した記録媒体
JP4224778B2 (ja) ストリーム変換装置および方法、符号化装置および方法、記録媒体、並びに、プログラム
JP3599942B2 (ja) 動画像符号化方法、及び動画像符号化装置
JP4120934B2 (ja) 画像処理装置および画像処理方法、記録媒体、並びに、プログラム
JP2000312362A (ja) 画像符号化方式変換装置、画像符号化方式変換方法および記録媒体
JP3428332B2 (ja) 画像符号化方法及び装置、並びに画像伝送方法
JPH10108197A (ja) 画像符号化装置、画像符号化制御方法および画像符号化制御用プログラムを記録した媒体
JP3652889B2 (ja) 映像符号化方法、映像符号化装置、記録媒体、及び映像通信システム
JP4126626B2 (ja) データ符号化装置及びデータ符号化方法
JP4359273B2 (ja) 符号化モード選択方法
JP4000581B2 (ja) 画像符号化装置および方法
JP2000032467A (ja) 画像処理装置および方法、並びに提供媒体
JPH11298902A (ja) 画像符号化装置および方法
JP4359274B2 (ja) 動画像圧縮符号化装置
JP4353928B2 (ja) データ圧縮方法、記録方法、及び伝送方法
JP2003174653A (ja) 画像情報変換方法及び画像情報変換装置、並びに制御プログラム及び記録媒体
JPH11317945A (ja) データ符号化装置、データ符号化方法及びデータ伝送方法

Legal Events

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

Payment date: 20120604

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee