[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR920010514B1 - Digital signal processing apparatus - Google Patents

Digital signal processing apparatus Download PDF

Info

Publication number
KR920010514B1
KR920010514B1 KR1019900002425A KR900002425A KR920010514B1 KR 920010514 B1 KR920010514 B1 KR 920010514B1 KR 1019900002425 A KR1019900002425 A KR 1019900002425A KR 900002425 A KR900002425 A KR 900002425A KR 920010514 B1 KR920010514 B1 KR 920010514B1
Authority
KR
South Korea
Prior art keywords
data
block
input
frame
encoding
Prior art date
Application number
KR1019900002425A
Other languages
Korean (ko)
Other versions
KR910016202A (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
Priority claimed from JP1045632A external-priority patent/JPH02224468A/en
Priority claimed from JP8185189A external-priority patent/JP3046313B2/en
Priority claimed from JP1132648A external-priority patent/JPH02312415A/en
Priority claimed from JP1268406A external-priority patent/JPH03129522A/en
Application filed by 미쯔비시덴끼 가부시끼가이샤, 시기 모리야 filed Critical 미쯔비시덴끼 가부시끼가이샤
Publication of KR910016202A publication Critical patent/KR910016202A/en
Application granted granted Critical
Publication of KR920010514B1 publication Critical patent/KR920010514B1/en

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/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/436Methods 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 using parallelised computational 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

Landscapes

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

Abstract

내용 없음.No content.

Description

디지탈 신호처리장치Digital Signal Processing Equipment

제1도는 본 발명의 1실시예에 의한 디지탈 신호처리장치의 구성을 도시한 블럭도.1 is a block diagram showing the configuration of a digital signal processing apparatus according to an embodiment of the present invention.

제2도는 본 발명의 디지탈 신호처리장치의 동작을 설명하는 흐름도.2 is a flowchart for explaining the operation of the digital signal processing apparatus of the present invention.

제3도는 본 발명의 1실시예에 의한 화상부호화 시스템을 도시한 블럭도.3 is a block diagram showing an image encoding system according to an embodiment of the present invention.

제4도는 그 처리시간과 유효블럭율의 관계를 도시한 설명도.4 is an explanatory diagram showing the relationship between the processing time and the effective block rate.

제5도는 본 발명에 관한 움직임 보상 프레임간 부호화장치의 구성을 도시한 기능블럭도.5 is a functional block diagram showing a configuration of a motion compensation interframe encoding apparatus according to the present invention.

제6도는 움직임 보상부의 내부구성을 나타내는 기능블럭도.6 is a functional block diagram showing an internal configuration of a motion compensation unit.

제7도는 본 발명의 작용을 나타내는 흐름도.7 is a flowchart illustrating the operation of the present invention.

제8도는 평균값 패턴산출을 설명하는 도면.8 is a diagram for explaining average value pattern calculation.

제9도는 제1단의 평균값 패턴을 사용한 움직임 벡터의 검출을 설명하는 도면.9 is a diagram illustrating detection of a motion vector using the average value pattern of the first stage.

제10도는 평균값 패턴에 의한 움직임 벡터 검출시의 탐색움직임 벡터의 배치설명도.10 is an explanatory diagram of arrangement of search motion vectors when motion vectors are detected by an average value pattern.

제11도는 제1단의 움직임 벡터검출에 의해 한정된 탐색범위에서의 제2단의 움직임 벡터의 검출을 설명하는 도면.11 is a diagram illustrating detection of a motion vector of the second stage in a search range defined by motion vector detection of the first stage.

제12도는 본 발명의 1실시예에 의한 화상부호화 전송방식을 실시하는 장치의 구성을 도시한 블럭도.12 is a block diagram showing the configuration of an apparatus for implementing an image encoding transmission method according to an embodiment of the present invention.

제13도는 서브샘플을 설명하는 설명도.13 is an explanatory diagram for explaining a subsample.

제14도는 종래의 디지탈 신호처리장치의 구성을 도시한 블럭도.14 is a block diagram showing the configuration of a conventional digital signal processing apparatus.

제15도는 종래의 디지탈 신호처리장치의 동작을 설명하는 흐름도.15 is a flowchart for explaining the operation of the conventional digital signal processing apparatus.

제16도는 리미트처리의 설명도.16 is an explanatory diagram of limit processing.

제17도는 전형적인 고능률 부호화 알고리듬의 구성예를 도시한 블럭도.17 is a block diagram showing an example of the configuration of a typical high efficiency coding algorithm.

제18도는 종래의 화상부호화 시스템을 도시한 블럭도.18 is a block diagram showing a conventional image encoding system.

제19도는 그 처리시간과 유효블럭율의 관계를 도시한 설명도.19 is an explanatory diagram showing the relationship between the processing time and the effective block rate.

제20도는 종래의 움직임 보상프레임간 부호화장치의 구성을 도시한 기능블럭도.20 is a functional block diagram showing the configuration of a conventional inter-frame encoding apparatus.

제21a도 및 제21b도는 종래의 움직임벡터 검출방법의 설명도.21A and 21B are explanatory diagrams of a conventional motion vector detection method.

제22도는 종래의 전체 탐색형 움직임벡터 검출방법의 설명도.22 is an explanatory diagram of a conventional full search type motion vector detection method.

제23도는 종래의 트리 탐색형 움직임벡터 검출방법의 설명도.23 is an explanatory diagram of a conventional tree search type motion vector detection method.

제24도는 종래의 화상부호화 전송방식을 실시하는 장치의 구성을 도시한 블럭도.Fig. 24 is a block diagram showing the structure of an apparatus for implementing the conventional image encoding transmission method.

제25도는 종래의 화상부호화 전송방식에 의한 화상데이타 분할동작을 설명하는 설명도.25 is an explanatory diagram for explaining an image data division operation by a conventional image encoding transmission method.

본 발명은 연산결과 데이타에 대해서 리미트처리를 실행하는 디지탈 신호처리장치에 관한 것으로, 특히 대량의 화상신호를 고속으로 처리하는 화상부호화장치, 움직임 보상프레임간 부호화장치, 특히 움직임보상의 연산량을 저감하는데 적합한 움직임보상 프레임간 부호화장치, 입력되는 화상데이타를 분할해서 분할된 화상데이타를 병렬로 부호화하고, 재차 합성해서 전송하는 화상부호화 전송장치에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a digital signal processing apparatus that executes a limit process on arithmetic result data. In particular, an image encoding apparatus for processing a large amount of image signals at high speed, a motion compensation inter-frame encoding apparatus, and in particular, a calculation amount of motion compensation is reduced. A suitable motion compensation inter-frame encoding apparatus and an image encoding transmission apparatus for dividing an input image data, encoding the divided image data in parallel, and combining and transmitting the image data in parallel again.

제14도는, 예를 들면 ″T.Murakami etal, ″A DSP ARCHITECTURE FOR 64KBPS MOTION VIDEO CODEC″, INTERNATIONAL SYMPOSIUM ON CIRCUIT AND SYSTEM(ISCAS88), pp. 227-230, 1988″에 개시된 종래의 디지탈 신호처리장치의 간략화한 구성을 도시한 블럭도이며, 도면에 있어서, (1)은 마이크로 프로그램의 명령어를 기억하는 명령메모리, (2)는 상기 명령메모리(1)에서 명령어를 리드하고, 해독해서 연산등의 동작제어를 실행하는 명령실행제어부, (3)은 주로 데이타 및 제어신호를 전송하기 위한 데이타 입력버스, (4)는 연산데이타를 기억하는 여러개의 입출력포트를 갖는 데이타메모리, (5)는 상기 데이타메모리(4)에서 데이타 입력버스(3)을 거쳐서 전송된 최대 2입력의 데이타에 대해서 여러가지의 연산을 실행하는 데이타연산부, (6)은 상기 데이타연산부(5)의 2입력 1출력데이타의 어드레스를 각각 독립적으로 생성하는 어드레스 생성부, (7)은 상기 데이타 연산결과 데이타를 전송하는 데이타 출력버스이다.14 shows, for example, T. Murakami et al, A DSP ARCHITECTURE FOR 64 KBPS MOTION VIDEO CODEC, INTERNATIONAL SYMPOSIUM ON CIRCUIT AND SYSTEM (ISCAS88), pp. 227-230, 1988 " is a block diagram showing a simplified configuration of a conventional digital signal processing apparatus, wherein (1) is an instruction memory for storing instructions of a micro program, and (2) is the instruction memory. A command execution control unit for reading and decoding an instruction in (1) and executing operation control such as an operation, (3) a data input bus mainly for transmitting data and control signals, and (4) a plurality of memory for storing operation data. A data memory having an input / output port of (5) is a data calculation section for performing various operations on data of up to two inputs transmitted from the data memory (4) via a data input bus (3). An address generator (7) which independently generates the addresses of the two input and one output data of the data operator 5, and (7) are data output buses that transmit the data operation result data.

다음에, 동작에 대해서 제15도의 흐름도를 사용해서 설명한다. 여기에서는 n(n〉0의 정수)비트의 2입력 데이타에 대해서 데이타연산부(5)에서 임의의 2개의 항의 연산처리를 실행한 후, 이 연산결과데이타(n비트)에 대해서 m(≤n의 정수)비트를 유효비트수로 하는 리미트처리를 실행하는 경우에 대해서 설명한다.Next, the operation will be described using the flowchart of FIG. In this example, the data operation section 5 executes an arbitrary two terms operation on two input data of n (n> 0 integer) bits, and then m (≤ n) for this operation result data (n bits). The case where limit processing is performed with the number of valid bits as the number of valid bits will be described.

먼저, 명령실행제어부(2)는 어드레스경로(101)을 거쳐서 지시된 어드레스를 명령메모리(1)에 통지하고, 해당하는 명령어를 명령메모리(1)에서 데이타경로(102)를 거쳐서 리드한다. 또, 명령실행제어부(2)는 상기 리드된 명령어를 해독하고, 데이타경로(104)를 거쳐서 제어신호를 어드레스 생성부(6)에 통지함과 동시에 필요에 따라서 데이타등을 데이타경로(103)을 거쳐서 데이타 입력버스(3)으로 송출한다.First, the command execution control unit 2 notifies the command memory 1 of the address indicated via the address path 101, and reads the corresponding command from the command memory 1 via the data path 102. In addition, the command execution control unit 2 decodes the read command, notifies the address generation unit 6 of the control signal via the data path 104, and transmits data or the like to the data path 103 as necessary. The data is sent to the data input bus 3.

이 제어신호에 의해 어드레스 생성부(6)은 데이타경로(107)을 거쳐서 데이타메모리(4)에 연산에 필요한 2입력 데이타(각각 n비트)의 어드레스를 통지하고, 이 데이타메모리(4)는 해당하는 2입력 데이타를 데이타 경로(105)를 거쳐서 데이타 입력버스(3)으로 송출한다. 데이타연산부(5)는 이 데이타 입력버스(3)으로 송출된 2입력 데이타를 데이타경로(106)을 거쳐서 입력하고, 명령실행제어부(2)에서 데이타경로(103)을 거쳐서 지시되는 소정의 2개의 항의 연산처리를 실행하고, 연산결과 데이타(n비트)를 데이타경로(108)을 거쳐서 데이타 출력버스(7)로 송출한다. 그리고, 이 데이타 출력버스(7)로 송출된 연산결과 데이타는 데이타경로(109)를 거쳐서 데이타메모리(4)에 입력되고, 어드레스 생성부(6)에 의해 데이타경로(107)을 거쳐서 부여되는 어드레스에 기억된다(스텝ST1). 다음에, 데이타연산부(5)는 상술한 입력동작에 의해 재차 데이타경로(106)을 거쳐서 데이타메모리(4)에 기억되어 있는 연산결과 데이타를 입력하고 명령실행제어부(2)에서 지시되는 명령세트의 하나인 MAX명령(유효비트수 m비트)를 실행한다. 이 MAX명령에서는 연산결과 데이타와 유효비트수 m비트로 표현할수 있는 최대값중, 큰쪽을 결과출력으로 하는 명령에 의해 이 연산결과 데이타가 최대값 t를 초과하는가 하지 않는가를 판단하고, 초과하고 있는 경우에는 리미트처리를 실행하고, 상술한 출력동작에 의해 상기 MAX명령을 실행한 연산결과 데이타가 데이타메모리(4)에 기억된다(스텝 ST2).By this control signal, the address generating section 6 notifies the data memory 4 of the two input data (n bits each) required for the operation via the data path 107, and this data memory 4 corresponds to the corresponding data. 2 input data are sent to the data input bus 3 via the data path 105. The data operation unit 5 inputs the two input data sent to the data input bus 3 via the data path 106, and the predetermined two pieces of data which are instructed by the command execution control unit 2 via the data path 103. The arithmetic processing of the term is executed, and the arithmetic result data (n bits) is sent to the data output bus 7 via the data path 108. The operation result data sent to the data output bus 7 is input to the data memory 4 via the data path 109 and is given by the address generator 6 via the data path 107. It is stored in (step ST1). Next, the data operation unit 5 inputs the operation result data stored in the data memory 4 via the data path 106 again by the above-described input operation, and enters the instruction set instructed by the instruction execution control unit 2. Execute one MAX instruction (m bits of significant bits). In this MAX instruction, it is determined whether or not the operation result data exceeds the maximum value t by the instruction that outputs the larger of the result value and the maximum value that can be expressed in m bits. Next, the limit processing is executed, and the operation result data of executing the MAX instruction by the above-described output operation is stored in the data memory 4 (step ST2).

또, 데이타연산부(5)는 상술한 입력동작에 의해 재차 데이타경로(106)을 거쳐서 데이타메모리(4)에 기억되어 있는 MAX명령이 실행된 연산결과 데이타를 입력하고, 명령세트의 하나인 MIN명령(유효비트수 m비트)를 실행한다. 이 MIN명령에서는 연산결과 데이타와 유효비트수 m비트로 표현할수 있는 최소값중, 작은쪽을 결과출력으로 하는 명령에 의해 이 연산결과 데이타가 최소값 S보다 작은가 작지않은가를 판단하여 작은 경우에는 리미트처리를 실행하고, 상술한 출력동작에 의해 이 MIN명령이 실행된 연산결과 데이타를 데이타메모리(4)에 기억하고(스텝ST3), 처리를 종료한다.In addition, the data operation unit 5 inputs the operation result data of the MAX instruction stored in the data memory 4 via the data path 106 again by the above-described input operation, and executes the MIN instruction which is one of the instruction sets. (Mbits of significant bits) are executed. In this MIN instruction, it is determined whether the operation result data is smaller or smaller than the minimum value S by a command outputting the smaller of the operation result data and the minimum value that can be expressed by the number of effective bits m bits. The operation result data on which this MIN instruction is executed by the above-described output operation is stored in the data memory 4 (step ST3), and the processing ends.

다음에, 상기 리미트처리를 제16도를 사용해서 설명한다. 먼저, n비트의 연산결과 데이타(MSB는 최상위 비트, LSB는 최하위 비트)를 고려한다(제16a도). 유효비트수 m(m〈n)비트로 리미트처리하는 경우, 상위(n-m)비트를 MSB와 동일한 데이타로 하고, 나머지 m비트는 이 연산결과 데이타의 값이 m비트로 표현할수 있는 범위내이면, 그대로 m비트 데이타로 하고, m비트로 표현할수 있는 최대값을 초과하는 경우는 그 최대값을, m비트로 표현할수 있는 최소값보다 작은 경우는 그 최소값을 m비트 데이타로 한다(제16b도).Next, the above limit processing will be described using FIG. First, n-bit operation result data (MSB is the most significant bit and LSB is the least significant bit) is taken into account (Fig. 16A). In the case of limit processing to the effective number of m (m <n) bits, the upper (nm) bit is the same data as the MSB, and the remaining m bits are m as they are if the value of the result data is within the range that can be expressed in m bits. If the bit data exceeds the maximum value that can be expressed in m bits, the maximum value is smaller than the minimum value that can be expressed in m bits. The minimum value is m bit data (Fig. 16B).

또한, 유효비트수를 m=n으로 한 리미트처리는 리미트처리를 실행하지 않을 때와 같은 효과가 있다.In addition, the limit processing in which the effective number of bits is m = n has the same effect as when the limit processing is not executed.

제18도는, 예를들면 (″Realtime Video Signal Processor Module″(ICSSP'87)예고집(미국달라스 1987년 4월) p.1961~1964)에 개시된 종래의 화상부호화 시스템을 도시한 블럭도이다. 도면에 있어서, (11)은 입력데이타가 입력되는 입력단자, (12)는 이 입력단자(11)에 입력버스를 거쳐서 접속되고, 입력데이타의 신호처리연산을 실행하는 여러개(M개)의 프로세서, (13)은 이들 각 프로세서(12)에서의 처리결과가 출력버스를 거쳐서 출력되는 출력단자이다. 또, (29)는 상기 입력단자(11)에서 입력되는 1프레임분의 화면데이타, (30)은 이 1프레임분의 화면데이타(29)를 영역분할한 소화면 데이타이다.FIG. 18 is a block diagram showing a conventional image encoding system disclosed in, for example, "Realtime Video Signal Processor Module" (ICSSP'87) Preliminary Proceedings (Dallas, April 1987, p. 1961-1964). In the drawing, reference numeral 11 denotes an input terminal to which input data is input, and 12 are connected to the input terminal 11 via an input bus, and a plurality of (M) processors for performing signal processing operations on the input data. And (13) are output terminals to which the processing results of these processors 12 are output via the output bus. Reference numeral 29 denotes screen data for one frame input from the input terminal 11, and 30 denotes small screen data obtained by region-dividing the screen data 29 for one frame.

제17도는 처리의 대상으로 되는 움직임 화상화면의 고능률 부호화 알고리듬의 전형적인 예를 도시한 블럭도이다. 도면에 있어서 (11)은 입력단자, (20)은 입력단자(11)에서의 입력데이타의 움직임 보상을 실행하는 움직임 보상기, (21)은 이 움직임 보상기(20)에서의 데이타와 입력단자(11)에서의 데이타의 차분을 취하는 프레임간 차분기, (22)는 프레임간 차분기(21)에서의 데이타를 유효블럭데이타와 무효블럭데이타로 나누는 블럭식별기, (23)은 블럭식별기(22)에서의 유효블럭데이타의 부호화/복호화를 실행하는 부호화/복호화기, (24)는 부호화/복호화기(23)에서의 복호데이타와 상기 움직임 보상기(20)에서의 데이타를 가산하는 프레임간 가산기, (25)는 프레임간 가산기(24)에서의 데이타를 기억하는 부호화 프레임메모리, (26)은 움직임 보상기(20) 및 프레임간 차분기(21)을 포함하는 전단처리부, (27)은 부호화/복호화기(23) 및 프레임간 가산기(24)를 포함하는 후단처리부이며, (28)은 처리된 출력데이타가 출력되는 출력단자이다.17 is a block diagram showing a typical example of a high efficiency coding algorithm of a motion picture screen to be processed. In the drawing, reference numeral 11 denotes an input terminal, 20 denotes a motion compensator for performing motion compensation of input data on the input terminal 11, and 21 denotes data and an input terminal 11 on the motion compensator 20. (B) is a block identifier that divides the data in the interframe difference 21 into valid block data and invalid block data, and (23) is a block identifier 22. An encoder / decoder for encoding / decoding an effective block data of (24) is an interframe adder for adding decoding data in the encoder / decoder 23 and data from the motion compensator 20, (25). Is an encoding frame memory for storing data in the interframe adder 24, 26 is a front end processor including a motion compensator 20 and an interframe difference 21, 27 is an encoder / decoder ( 23) and a post-processing unit including an interframe adder 24, Reference numeral 28 denotes an output terminal on which the processed output data is output.

다음에, 동작에 대해서 설명한다. 이 화상부호화 시스템은 움직임 화상의 신호처리를 대상으로 하고, 1매의 화면데이타(29)를 M개의 소화면 데이타(30)으로 분할해서 각각의 프로세서(12)에 할당한다. 각각의 프로세서(12)는 1프레임시간을 소비해서 담당영역의 소화면데이타(30)의 페치를 실행한다.Next, the operation will be described. This image encoding system targets signal processing of a motion image, divides one screen data 29 into M small screen data 30, and assigns them to each processor 12. FIG. Each processor 12 spends one frame time to fetch the small screen data 30 of the area in charge.

다음에 각 프로세서(12)는 1프레임시간을 소비해서 소정의 처리를 실행하고, 그 처리결과를 다른 프로세서(12)와 동기해서 출력버스로 출력한다. 이때, 개별적으로 처리된 소화면 데이타(30)은 재차 1프레임단위로 조립된다.Next, each processor 12 consumes one frame time to execute a predetermined process, and outputs the processing result to the output bus in synchronization with the other processors 12. At this time, the individually processed small screen data 30 is assembled again in units of one frame.

상기의 처리방식에 있어서, 1프레임을 M개로 분할해서 처리할때의 1프레임당의 처리시간 T는In the above processing method, the processing time T per frame when processing one frame into M pieces is

Figure kpo00001
Figure kpo00001

Tf : 하나의 처리유닛에서의 1프레임당의 처리시간Tf: Processing time per frame in one processing unit

Tfn : n개째의 처리유닛의 소화면당의 처리시간Tfn: Processing time per small screen of the nth processing unit

에서 부여된다. 여기서, 분할수를 증가시키는 것에 의해 프로세서(12)로써 비교적 저속의 것을 사용하여도 고속의 화상처리가 가능하게 되지만, 한편 가장 느린 프로세서(12)의 처리속도에 의해서 전체의 처리속도가 결정된다.Is given in. In this case, even by using a relatively low speed as the processor 12 by increasing the number of divisions, high-speed image processing is possible, while the overall processing speed is determined by the processing speed of the slowest processor 12.

제17도에 도시한 처리대상으로 되는 움직임 화상화면의 고능률 부호화기의 알고리듬에 있어서, 입력단자(11)에서 입력되는 모든 입력데이타에 대해서 움직임 보상기(20)에 의한 움직임 보상이 실시되고, 프레임간 차분기(21)에서 입력데이타와의 차분처리가 실행된 후, 블럭식별기(22)에서 추출된 유효블럭만이 부호화/복호화기(23)으로 보내져서 부호화/복호화가 실행된다. 이때의 소화면내의 유효블럭을 α와 소화면의 처리시간 T의 관계는In the algorithm of the high-efficiency encoder of the motion picture screen to be processed as shown in FIG. 17, motion compensation by the motion compensator 20 is performed on all input data input from the input terminal 11, and inter-frame is performed. After the difference processing with the input data is executed in the difference unit 21, only the valid blocks extracted by the block identifier 22 are sent to the encoder / decoder 23 for encoding / decoding. The relationship between α and the processing time T of the small screen is

Figure kpo00002
Figure kpo00002

a, b : 정수a, b: integer

BN: 소화면내의 블럭수B N : Number of blocks in small screen

로 표시된다.Is displayed.

제19도는 이 식(2)를 나타내고 있다. 종래의 화상부호화 장치에서는 각 프로세서(12)가 동기해서 입출력을 실행하므로, 최대처리시간을 각 프로세서(12)에 일률적으로 할당할 필요가 있어 도면에 있어서 사선으로 나타낸 면적분의 빈 시간이 생긴다.19 shows this equation (2). In the conventional image encoding apparatus, since each processor 12 performs input and output in synchronization, it is necessary to uniformly allocate the maximum processing time to each processor 12, resulting in an empty time for an area indicated by diagonal lines in the drawing.

제20도~제22도는, 예를들면 문헌 ″움직임 보상ㆍ배경예측을 사용한 프레임간 부호화방식″(전자통신학회 논문지 '85/1 Vol.J68B No.1 p.77~84, 구로다 에이오, 부가와나오즈, 하시모또 히데오 공저)에 개시되는 종래의 움직임 보상연산방법의 설명도이고, 특히 전체 탐색형의 방법을 예시하는 것이다.20 to 22 are described in, for example, the document `` Inter-frame Coding Method Using Motion Compensation and Background Prediction '' (Journal of the Institute of Electronics and Telecommunications '85 / 1 Vol.J68B No.1 p.77 ~ 84, A. Kuroda, It is explanatory drawing of the conventional motion compensation calculation method disclosed by Wanaozu and Co., Ltd. Hashimoto), and especially illustrates the whole search type | mold method.

도면에 있어서, (31)은 화상데이타의 입력신호, (32)는 입력데이타를 일단 1프레임분 기억하는 입력프레임 버퍼, (33)은 현재의 입력프레임중의 소정위치의 움직임 보상용의 블럭사이즈 ℓ1×ℓ2를 갖는 현재입력블럭, (34)는 전회 입력프레임 재생데이타중에 있어서의 현재입력블럭(33)과 매칭처리를 실행하는 대상으로 되는 블럭이 존재하는 범위 ℓ1+2m, ℓ2+2n을 나타내는 움직임벡터 탐색범위이다.In the figure, reference numeral 31 denotes an input signal of image data, 32 an input frame buffer for storing one input data once, and 33 a block size for motion compensation at a predetermined position in the current input frame. The current input block having L1 × L2, 34 indicates a range L1 + 2m and L2 + 2n in which a block to be subjected to matching processing with the current input block 33 in the previous input frame playback data exists. Motion vector search range.

이 경우, 탐색대상블럭수 M은In this case, the number of blocks to be searched for M is

Figure kpo00003
Figure kpo00003

으로 되고, 탐색범위는 수평방향으로 -m~+m화소의 범위, 수직방향으로 -n~+n화소의 범위로 된다.The search range is in the range of -m to + m pixels in the horizontal direction and in the range of -n to + n pixels in the vertical direction.

움직임 보상은 프레임간 부호화 전송방식에 있어서 현재의 입력프레임데이타와 전회 입력프레임 재생데이타의 프레임의 상관을 이용해서 현재의 입력프레임데이타에 의해 가까운 예측신호를 구하는 처리를 소정의 크기의 블럭단위로 처리하는 것이다.Motion compensation is a process of obtaining a prediction signal close to the current input frame data by using a correlation between the frames of the current input frame data and the previous input frame reproduction data in the unit of a predetermined size in the inter-frame coded transmission method. It is.

그리고, 현재입력 프레임데이타중의 현재입력블럭(33)과 가장 상관이 높은 블럭, 즉 차분 절대값합이 최소로 되는 조건등에 의해 블럭간 왜곡량이 가장 적은 블럭을 전회 입력프레임 재생데이타중의 움직임벡터의 탐색범위(34)에서 탐색하고, 움직임벡터와 예측신호를 얻고 있다.Then, the block having the smallest amount of distortion between blocks due to a condition that has the highest correlation with the current input block 33 in the current input frame data, that is, the minimum absolute difference value, etc., is used to determine the motion vector of the previous input frame playback data. In the search range 34, a motion vector and a prediction signal are obtained.

또, 도면에 있어서, (35)는 입력신호(31)의 현재입력블럭(33)과 전회의 입력신호 재생데이타로써 부여된 움직임벡터 탐색범위(34)의 상관근사계산에 의해 예측신호를 구하는 움직임 보상부, (36)은 움직임 보상부(35)에서 출력되는 예측신호, (37)은 움직임 보상부(35)에서 출력되는 움직임벡터 정보이다.In the figure, reference numeral 35 denotes a motion for obtaining a prediction signal by correlation approximation calculation between the current input block 33 of the input signal 31 and the motion vector search range 34 given as the previous input signal reproduction data. The compensator 36 is a prediction signal output from the motion compensator 35 and 37 is motion vector information output from the motion compensator 35.

또, (39)는 입력블럭신호(33)과 예측신호(36)과의 차분신호(38)을 부호화해서 부호화신호(40)을 출력하는 부호화부, (41)은 부호화부(39)에서 부호화된 부호화신호(40)을 복호화하는 복호화부이다.Further, reference numeral 39 denotes an encoder which encodes the difference signal 38 between the input block signal 33 and the predictive signal 36 and outputs the encoded signal 40. The encoder 41 encodes by the encoder 39. The decoding unit decodes the encoded coded signal 40.

그리고, (44)는 복호화부(41)에서의 복호화신호(42)와 움직임 보상부(35)에서의 예측신호(36)을 가산해서 재생데이타(43)으로 되돌려서 이것을 기억함과 동시에, 움직임 보상부(35)에 움직임벡터 탐색범위(34)를 부여하는 프레임메모리, (45)는 송신버퍼, (46)은 송신신호이다.Then, 44 adds the decoded signal 42 of the decoder 41 and the predictive signal 36 of the motion compensator 35 to return to the reproduction data 43 to store this, and simultaneously compensates for the motion. The frame memory which gives the unit 35 a motion vector search range 34, 45 is a transmission buffer, and 46 is a transmission signal.

계속해서, 동작을 제21도 및 제22도에 따라서 설명한다.Subsequently, the operation will be described with reference to FIGS. 21 and 22. FIG.

현재 입력프레임중의 현재입력블럭(33)에서 특정한 위치의 ℓ1×ℓ2의 사이즈의 블럭 X에 대해서 전회 입력프레임 재생데이타중의 움직임벡터 탐색범위(34)내의 M개의 블럭과의 사이의 블럭간 왜곡량을 계산하고, 이 왜곡의 최소값, 즉 최소왜곡을 부여하는 최소왜곡 블럭 yi의 현재입력블럭(33)의 위치에 대한 상대위치, 즉 움직임벡터 V를 구함과 동시에 이 블럭 yi의 신호 ymin을 예측신호(36)으로써 출력하는 것이다.Interblock distortion between M blocks in the motion vector search range 34 during the previous input frame playback data for a block X of size L1 × L2 at a specific position in the current input block 33 in the current input frame. Calculate the amount, calculate the relative position with respect to the position of the current input block 33 of the minimum distortion block yi that gives the minimum distortion, that is, the minimum distortion, i.e., predict the signal ymin of this block yi The signal is output as the signal 36.

그리고, 프레임간 부호화전송에서는 신호의 수신측에 있어서도 예측신호(36)을 생성할 수 있다.In inter-frame coded transmission, the prediction signal 36 can also be generated on the receiving side of the signal.

예를들면, 부여된 움직임벡터 탐색범위(34)내에서 탐색대상으로 되는 움직임벡터 V의 갯수를 M(2이상의 정수)로 하면, 특정의 움직임벡터 V의 위치의 전프레임 블럭과 현재의 입력블럭과의 왜곡량으로써 차분절대값합을 사용한 경우, 왜곡량은For example, if the number of motion vectors V to be searched within the given motion vector search range 34 is M (an integer of 2 or more), the previous frame block at the position of the specific motion vector V and the current input block. If the difference absolute value sum is used as the distortion amount with

Figure kpo00004
Figure kpo00004

로 된다. 여기서, 입력블럭은It becomes Here, the input block is

Figure kpo00005
Figure kpo00005

탐색대상블럭은The block to be searched is

Figure kpo00006
이다.
Figure kpo00006
to be.

그리고, 움직임벡터 V는And the motion vector V is

Figure kpo00007
Figure kpo00007

로 구해진다.Obtained by

그리고, 이 경우의 연산량 S1은 절대차분값합 연산을 a기계사이클, 비교처리를 b기계사이클로 한 경우,In this case, the amount of calculation S1 assumes that the absolute difference value sum calculation is a machine cycle and the comparison process is b machine cycle.

Figure kpo00008
Figure kpo00008

로 된다.It becomes

여기서, 예를들면 a=1기계사이클, b=2기계사이클, ℓ1=8, ℓ2=8, m=8, n=8로 한 경우, L=64, M=289로 되고,Here, for example, when a = 1 machine cycle, b = 2 machine cycles, l1 = 8, l2 = 8, m = 8, n = 8, L = 64, M = 289,

Figure kpo00009
Figure kpo00009

기계사이클로 된다. 이 연산량 S1은 하드웨어의 구성에서 보면 상당히 큰 값이며, 화상신호인 프레임의 주기에 맞추어서 파이프라인처리등의 고속의 연산계가 사용되고 있다.It becomes a mechanical cycle. This calculation amount S1 is a considerably large value in terms of the hardware configuration, and a high speed computing system such as pipeline processing is used in accordance with the period of the frame which is an image signal.

그러나, 하드웨어의 간소화는 큰 과제이며, 예를들면 일본국 특허공개공보 소화63-181585호의 「TV신호의 움직임보상 프레임간 부호화장치」에서는 연산량을 저감할 목적으로 트리(tree) 탐색형의 움직임 보상연산을 실행하는 방법이 제안되어 있다.However, the hardware simplification is a big problem. For example, in the TV signal motion compensation inter-frame encoding device of Japanese Patent Laid-Open No. 63-181585, a tree search type motion compensation is performed to reduce the amount of computation. A method of performing an operation has been proposed.

트리 탐색형 움직임 보상연산방법은 제23도에 도시한 바와같이 움직임벡터 탐색범위(34)내를 등간격으로 낮은 밀도의 제1의 탐색대상블럭(○)을 배치하고, 그 중에서 최소왜곡을 부여하는 블럭 ○을 검출하면, 다음에 그 블럭 ○을 중심으로 한 좁은 영역내에서 제2의 탐색대상블럭(□)를 배치하고, 그중에서 최소왜곡을 부여하는 블럭 □를 검출하고, 다시 그 블럭 □를 중심으로 하는 영역내에서 제3의 탐색대상블럭(△)을 설정해서 최소왜곡을 부여하는 블럭 △를 검출하고, 최종적으로 움직임벡터 탐색범위(34)내에서 최소왜곡을 부여하는 블럭 △를 특정한다는 것이다.In the tree search type motion compensation operation method, as shown in FIG. 23, the first search target block (○) having a low density is arranged at equal intervals within the motion vector search range 34, and the least distortion is given. When a block? Is detected, a second search target block? Is arranged in a narrow area centered on the block?, And a block? Giving the least distortion is detected therefrom, and the block? In the area centered on, the third search target block Δ is set to detect the block Δ that gives the minimum distortion, and finally, the block Δ that gives the minimum distortion within the motion vector search range 34 is specified. Is that.

이 경우의 연산량 S2는In this case, the amount of calculation S2

Figure kpo00010
Figure kpo00010

로 된다. 따라서, 상술한 바와 같은 조건하에서는It becomes Therefore, under the conditions as described above

Figure kpo00011
Figure kpo00011

기계사이클로 되고, 이 트리 탐색형의 움직임 보상연산방법은 전체 탐색형보다 연산량이 적게해서 끝낼 수 있다.It is a machine cycle, and this tree search type motion compensation operation method can be finished with less calculation amount than the full search type.

또 제24도는 예를들면 ″A Real-time Video Signal Processor Suit able for Motion Picture Coding Applications″(IEEE GLOBCOM '87,pp. 453-457, 1987)에 개시된 종래의 화상부호와 전송방식을 실시하는 화상부호화장치의 구성을 도시한 블럭도이며, 도면에 있어서(61)은 입력화상 데이타, (62)는 병렬로 배치되고 또한 병렬로 부호화를 실행하는 디지탈 신호처리프로세서(이하, DSP라 한다.), (63)은 상기 각 DSP(62)로의 데이타분할 및 전송을 제어하는 데이타전송 제어기, (64)는 상기 데이타전송제어기(63)에서 각 DSP(62)에 전송되는 전송데이타, (65)는 상기 각 DSP(62)에 의해 처리된 처리완료 데이타이다.FIG. 24 also illustrates a conventional image code and a transmission scheme disclosed in, for example, "A Real-time Video Signal Processor Suit able for Motion Picture Coding Applications" (IEEE GLOBCOM '87, pp. 453-457, 1987). A block diagram showing the structure of an encoding apparatus is shown in Fig. 61, where input image data, 62 are arranged in parallel, and a digital signal processing processor (hereinafter referred to as DSP) that performs encoding in parallel. Reference numeral 63 denotes a data transmission controller which controls data division and transmission to each DSP 62, 64 transmission data transmitted from the data transmission controller 63 to each DSP 62, and 65 denotes the above. Processed data processed by each DSP 62.

다음에 동작에 대해서 설명한다.Next, the operation will be described.

1프레임의 입력화상데이타(61)은 데이타전송 제어기(63)에 의해 각 DSP(62)에 분배되어 전송된다. 이 전송된 데이타(64)는 각 DSP(62)에서 각각 처리된 후, 처리완료 데이타(65)로써 다음의 처리블럭으로 전송된다. 이때, 각 DSP(62)의 처리분담영역을 제25a도에 도시한다. 이 도면은 입력화상데이타(61)을 A, B, C, D의 4개로 분할하고, 각각 DSP(62)에서 병렬처리를 실행하는 경우의 분할예이며, 각 DSP(62)에서는 균등하게 처리분담된다. 또, 이 4개의 영역을 하나로 모은 것이 입력화상 데이타(61)의 1프레임이다.The input image data 61 of one frame is distributed to each of the DSPs 62 by the data transfer controller 63 and transmitted. The transferred data 64 is processed in each DSP 62, and then transferred to the next processing block as the processed data 65. At this time, the processing sharing area of each DSP 62 is shown in FIG. 25A. This figure is an example of dividing when the input image data 61 is divided into four of A, B, C, and D, and the parallel processing is executed in the DSP 62, respectively, and the processing is equally distributed in each of the DSP 62. FIG. do. The four areas are put together in one frame of the input image data 61.

여기서, 입력화상 데이타(61)을 프레임간 화상부호화방식등에 의해 부호화하는 경우에 대해서 고려한다. 프레임간 화상부호화방식은 입력프레임과 전 프레임과의 차분이 어느 일정한 크기의 부분만 부호화대상으로 하고, 그 이외는 전 프레임데이타를 이용하는 조건부 화소보충처리를 사용하는 것이 일반적이다. 따라서 각 DSP(62)에 있어서 처리분담된 영역의 화소수가 동일하더라도 실제의 유효화소율이 다른 경우, 처리에 요하는 연산량은 다르며 소요연산량 또는 소요연산시간은 유효화소율에 비례한다.Here, the case where the input image data 61 is encoded by the inter-frame image encoding method or the like is considered. In the inter-frame image encoding method, it is common to use a conditional pixel replenishment process that uses only a portion of a certain size whose difference between the input frame and the previous frame is the encoding target. Therefore, even if the actual effective pixel rate is different even though the number of pixels in the processing share area in each DSP 62 is the same, the amount of computation required for processing is different and the required computation amount or computation time is proportional to the effective pixel rate.

제25b도는 프레임간 부호화방식에 있어서, 제25a도와 같이 입력화상 데이타(61)을 A, B, C, D의 4개의 분할한 경우의 유효화소수의 분포예이며, DSP(62)를 병렬구성한 1블럭당의 각 DSP(62)의 소요연산시간은 가장 유효화소수가 많은 DSP(62)의 처리시간으로 된다. 따라서, 상술한 종래의 디지탈신호처리장치에서는 연산결과 데이타에 대해서 리미트처리를 실행하기 위해서는 연산을 포함해서 3개의 명령을 실행할 필요가 있어 처리효율이 저하한다는 문제점이 있었다.FIG. 25B is an example of distribution of the effective pixels in the case where the input image data 61 is divided into four parts A, B, C, and D, as shown in FIG. 25A, in the inter-frame coding method. The required computation time of each DSP 62 per block is the processing time of the DSP 62 with the most effective pixels. Therefore, in the above-described conventional digital signal processing apparatus, it is necessary to execute three instructions including an operation in order to execute the limit processing on the operation result data, and there is a problem that the processing efficiency decreases.

또한, 상술한 종래의 화상부호화장치에서는 처리블럭에 의해 처리시간에 차가 생기는 처리에서는 각각의 프로세서(12)에 대해서 일률적으로 처리시간의 할당을 최악의 값으로 설정할 필요가 있어 처리능력에 여유가 있음에도 불구하고, 프로세서의 수가 쓸데없이 증대하는 등의 문제점이 있었다.In addition, in the above-described conventional image encoding apparatus, in the process where the processing time causes a difference, it is necessary to uniformly set the allocation of processing time for each of the processors 12, even though there is room in processing capacity. Nevertheless, there have been problems such as an increase in the number of processors unnecessarily.

또한, 상술한 종래의 움직임 보상연산방법에서는 움직임 보상연산으로 확실성이 높은 전체 탐색을 실행하고자 하면, 연산량이 증대해서 하드웨어의 구성이 대규모로 되고, 한편 트리탐색등에 의해 연산량을 저하한 경우, 최소왜곡블럭의 검출성능이 저하하는, 즉 최초의 저밀도의 탐색시의 매칭의 과정에서 본래의 최소왜곡 블럭의위치와 떨어진 위치의 블럭이 선택될 가능성이 있으며, 목표로 하는 최소왜곡량에 도달하지 않고 상관없음의 판정이 이루어지는 케이스가 증대해서 비효율적인 전송을 받아들이지 않을 수 없는 등의 문제점이 있었다.Further, in the conventional motion compensation calculation method described above, if the entire search with high certainty is to be executed by the motion compensation calculation, the amount of calculation increases and the hardware configuration becomes large, while the amount of calculation decreases due to tree search, etc. When the detection performance of the block is deteriorated, that is, the block at a position away from the original minimum distortion block may be selected during the matching process at the time of the first low density search, and the correlation does not reach the target minimum distortion amount. There have been problems such as an increase in cases in which no determination is made and the inefficient transmission cannot be accepted.

또, 상술한 종래의 화상부호화전송장치는 1프레임의 입력화상데이타 내에 있어서의 유효화소수의 치우침이나 그 분포의 시간적인 변동이 있는 경우, 이 처리시간은 가장 처리시간을 요하는 영역, 즉 DSP의 처리시간에 의존하기 때문에, 1프레임전체로써의 처리효율의 저하를 초래하고, 또 부호화처리가 각 처리영역에 걸친 경우, 각 DSP간의 처리의 복잡화를 초래하는 등의 문제점이 있었다.In the conventional image coding transmission apparatus described above, when there is a bias in the effective number of pixels within the input image data of one frame or a time variation in its distribution, this processing time is the area that requires the most processing time, that is, the DSP. Depending on the processing time, there is a problem that the processing efficiency of the entire frame is reduced, and when the coding process spans each processing area, the processing complexity between the DSPs is caused.

본 발명은 제1의 목적은 상기와 같은 문제점을 해소하기 위해 이루어진 것으로, 효율이 좋은 리미트처리를 실행하는 디지탈신호처리 장치를 제공하는 것이다.SUMMARY OF THE INVENTION The present invention has been made in order to solve the above problems, and to provide a digital signal processing apparatus that executes an efficient limit process.

본 발명의 제2의 목적은 보다 적은 수의 프로세서에서 효율이 좋은 처리를 할 수 있는 화상부호화장치를 제공하는 것이다.It is a second object of the present invention to provide an image encoding apparatus capable of efficient processing in a smaller number of processors.

본 발명의 제3의 목적은 최소왜곡 블럭의 검출성능을 저하시키는 일없이 연산량을 적게해서 하드웨어의 간소화의 소형화를 도모할 수 있는 움직임 보상프레임간 부호화장치를 제공하는 것이다.It is a third object of the present invention to provide a motion compensation interframe coding apparatus capable of miniaturizing hardware by reducing the amount of computation without degrading the detection performance of the least distortion block.

본 발명의 제4의 목적은 DSP의 병렬구성에 의한 각 DSP의 처리시간의 균등화를 가능하게 함과 동시에 저해상도의 수신측 장치와의 접속 및 수신용 버퍼용량의 삭감을 가능하게 하는 화상부호화전송장치를 제공하는 것이다.A fourth object of the present invention is to enable an equalization of processing time of each DSP by parallel configuration of DSPs, and at the same time to connect to a low resolution receiver and reduce the buffer capacity for receiving. To provide.

본 발명에 관한 디지탈 신호처리장치는 데이타연산부에서 임의의 연산이 실행된 연산결과 데이타를 입력하고, 마이크로 프로그램의 내용에 따라서 명령실행 제어부에서 지시된 임의의 유효비트수로 리미트처리를 실행하는 리미트처리부를 구비하도록 한 것이다.The digital signal processing apparatus according to the present invention is a limit processing unit for inputting operation result data in which an arbitrary operation is executed in the data computing unit, and executing a limit process with an arbitrary number of valid bits instructed by the instruction execution control unit in accordance with the contents of the microprogram. It is to be provided.

본 발명에 있어서의 디지탈신호처리장치는 데이타연산부의 출력을 직접 리미트처리부에 입력하도록 하였으므로, 1명령으로 연산 및 리미트처리를 가능하게 한다.The digital signal processing apparatus of the present invention inputs the output of the data calculating section directly to the limit processing section, thereby enabling calculation and limit processing in one instruction.

본 발명에 관한 화상부호화장치는 부호화처리를 입력데이타의 전체화소를 부호대상으로 하는 처리, 유효블럭만을 부호화대상으로 하는 처리로 분할하고, 전자를 담당하는 전단 멀티프로세서, 후자를 담당하는 후단 멀티프로세서 사이에 있어서, 전후의 처리시간차를 완충하는 버퍼, 스레쉬홀드값 제어에 의해 전단 멀티프로세서에서의 부호화데이타 발생량을 일정하게 제한하고, 버퍼의 데이터축적량에 따라서 후단 멀티프로세서의 처리량을 일정하게 유지하는 출력제어부를 구비하고, 전단 멀티프로세서에 데이타정보를 부가하는 기능을 갖게하고, 후단 멀티프로세서에 그 데이타정보를 해독하는 기능을 갖게 한 것이다.The image encoding apparatus according to the present invention divides the encoding process into a process for which the entire pixel of the input data is a code object, a process for which only the effective block is a code object, a front end multiprocessor in charge of the former, and a rear end multiprocessor in charge of the latter. Between the buffers buffering the processing time difference before and after, and the threshold value control, the amount of encoding data generated by the front end multiprocessor is constantly limited, and the throughput of the subsequent multiprocessor is kept constant according to the data accumulation amount of the buffer. It has an output control section, has a function of adding data information to a front end multiprocessor, and has a function of decoding the data information to a rear end multiprocessor.

본 발명에 있어서의 화상부호화장치는 전체화소를 부호화하는 전단 멀티프로세서와 유효블럭만을 부호화하는 후단 멀티프로세서 사이에 놓여진 버퍼의 데이타축적량에 의해서 출력제어부가 전단 멀티프로세서에서 실행되는 부호화의 스레쉬홀드값을 조정하고, 유효블럭수를 일정하게 제어하는 것에 의해 후단 멀티프로세서에 대한 과도한 처리부담이 경감되어 시스템전체에서 필요한 프로세서의 수가 감소한다.The image encoding apparatus according to the present invention has a threshold value of encoding in which an output control unit is executed by a front end multiprocessor by an amount of data stored in a buffer placed between a front end multiprocessor encoding an entire pixel and a rear end multiprocessor encoding only an effective block. By adjusting the number of blocks and controlling the number of effective blocks uniformly, the excessive processing burden on the subsequent multiprocessors is reduced, thereby reducing the number of processors required throughout the system.

본 발명에 관한 움직임보상 프레임간 부호화장치는 시계열적으로 순차입력되는 여러개의 프레임으로 이루어지는 디지탈 화상데이타의 현재의 입력프레임을 여러개의 블럭으로 분할해서 현재의 입력프레임의 화상데이타의 각 블럭에 대해서 전회의 입력프레임 재생데이타중의 블럭과의 사이에서 패턴사이의 근사를 계산해서 최소왜곡을 부여한 블럭과 움직임벡터를 검출할때에 사전에 부호화대상 블럭을 균등하게 분할할 수 있는 크기를 갖는 소블럭(평균값 블럭)으로 분할하고, 이들 평균값블럭단위의 평균값을 1프레임분에 대해서 구해두고, 전회프레임 재생데이타중의 움직임벡터 탐색범위인 부호화대상 입력데이타 블럭의 위치를 중심으로 해서 소정의 크기를 갖는 제1의 움직임벡터 탐색범위를 설정한다.The motion compensation inter-frame encoding apparatus according to the present invention divides a current input frame of digital image data consisting of several frames sequentially input in time series into a plurality of blocks, and changes the current input frame to each block of the image data of the current input frame. A small block having a size that can be equally divided into blocks to be coded beforehand when calculating the approximation between patterns between blocks in the input frame playback data of and detecting the motion vector and the block with the least distortion. Average value block), the average value of these average block units is obtained for one frame, and has a predetermined size centering on the position of the encoding target input data block that is the motion vector search range in the previous frame playback data. Set the motion vector search range of 1.

그리고, 제1의 탐색범위 내에 있어서 균등하게 되도록 낮은 밀도에서 n개(n은 1이상의 정수)의 제1의 탐색 움직임벡터군을 배치하고, 이 움직임벡터를 나타내는 위치의 블럭데이타 내의 평균값 블럭의 평균값으로 이루어지는 평균값패턴과 현재 입력블럭인 입력데이타 블럭내의 평균값패턴과의 패턴유사도를 나타내는 평균값 왜곡량을 각각의 움직임벡터마다 구한다.Then, the first search motion vector group of n (n is an integer of 1 or more) is arranged at a low density so as to be equal in the first search range, and the average value of the average value block in the block data at the position representing this motion vector is obtained. An average value distortion amount representing the pattern similarity between the average value pattern consisting of the average value pattern and the average value pattern in the input data block that is the current input block is obtained for each motion vector.

그리고 나서 평균값 왜곡량이 최소로 되는 블럭을 제1의 탐색영역내에서 검출하고, 이 평균값 왜곡량이 최소로 된 평균값 최소왜곡 블럭을 중심으로 해서 제1의 탐색범위보다 작게 되는 크기를 갖는 제2의 움직임벡터 탐색범위를 한정화 탐색범위로써 설정하고, 이 제2의 탐색범위내에서는 높은 밀도에서 제2의 탐색 움직임벡터군을 배치한다.Then, a block having a minimum mean distortion amount is detected in the first search area, and a second motion having a size smaller than the first search range centering on the mean minimum distortion block having the minimum mean distortion amount. The vector search range is set as the limited search range, and the second search motion vector group is arranged at a high density within this second search range.

또, 제2의 움직임벡터군에 따라서 입력데이타 블럭과 가장 근사하는 블럭을 화소를 사용한 최소왜곡량에 따라서 검출하고, 이 최소왜곡을 가져오는 블럭과 그 움직임벡터를 최종적인 예측신호 및 움직임 벡터로 하도록 구성한 것이다.Also, a block closest to the input data block is detected in accordance with the minimum distortion amount using pixels, according to the second motion vector group, and the block and the motion vector which obtain this minimum distortion are used as the final prediction signal and the motion vector. It is configured to

이상 기술한 구성에 따라 움직임 보상부는 움직임벡터 탐색범위내에 있어서, 탐색대상블럭을 저밀도로 배치해서 계산대상 움직임벡터에서 이들 블럭의 평균값 패턴간 왜곡량이 최소로 되는 블럭을 최소 왜곡 블럭으로써 검출하고, 이 최소왜곡 블럭을 중심으로 해서 한정화 탐색범위를 고밀도의 탐색대상 블럭으로써 설정하고, 이 블럭중에서 움직임벡터를 검출하고, 먼저 평균값패턴에서 왜곡량을 비교하는 것에 의해 높은 정밀도에서의 최소왜곡 블럭의 존재위치의 압축이 가능하게 되고, 그 후에 한정화된 영역내에서 고밀도의 움직임벡터 탐색을 실행하는 것에 의해 연산량을 억제하면서 높은 정밀도의 검출을 실행한다.According to the above-described configuration, the motion compensator detects, as a minimum distortion block, a block in which the search target blocks are arranged at a low density within the motion vector search range and the minimum amount of distortion between the average value patterns of these blocks is calculated in the motion vector to be calculated. Presence position of the minimum distortion block at high precision by setting the limited search range as a high density search target block centering on the minimum distortion block, detecting a motion vector among the blocks, and first comparing the amount of distortion in the average value pattern Compression can be performed, and then, by performing a high-density motion vector search within the limited area, detection of high precision is performed while suppressing the calculation amount.

본 발명에 관한 화상부호화전송장치는 화상데이타의 1프레임을 구성하는 화소를 중복하지 않도록 간헐적으로 해서 1프레임마다 n(1이상의 정수)개로 화소분할한(제13도를 사용한 상세한 설명은 다음에 기술하지만, 이하, 서브샘플이라 한다)데이타이고, 또한 순차 전송되는 서브샘플 화상데이타를 1프레임분 입력하고, 이 n개(1프레임분)의 서브샘플 화상데이타를 n개의 부호화처리부에서 병렬로 부호화해서 부호화 화상데이타를 작성하고, 수신측 장치의 해상도에 맞추어서 이 n개의 부호화 화상데이타의 모두, 또는 n개중에서 이것의 해상도에 맞는 갯수분만 임의로(선택적과 같은 의미)선택해서 합성하고, 수신측장치에서 병렬로 m(1이상의 정수)개 배치된 부호화처리부에서 부호화할 수 있도록 재차 m개로 서브샘플해서 순차적으로 헤더를 붙여서 전송하도록 한 것이다.The image encoding transmission apparatus according to the present invention intermittently divides the pixels constituting one frame of image data into n (integers of one or more) pixels per frame intermittently so as not to overlap each other. However, hereinafter, referred to as subsample) data, and sequentially transmitted subsample image data is inputted for one frame, and the n (one frame) subsample image data are encoded in parallel by n encoding processing units. Coded image data is created, and all of the n coded image data or only the number of n pieces of the n coded image data corresponding to the resolution are arbitrarily selected (same as optional) according to the resolution of the receiving side apparatus, and then synthesized. Sub-sample m again and send headers sequentially so that m (integer or more) coding units can be coded in parallel It will have to.

본 발명에 있어서의 화상부호화전송장치는 화상데이타를 1프레임마다 서브샘플된 서브샘플 화상데이타를 1프레임분 순차 입력하고, 부호화처리부에서 병렬로 부호화하므로, 처리대상으로 되는 서브샘플 화상데이타의 유효화소수가 균등화된다. 또, 부호화된 부호화 화상 데이타를 수신측 장치에 맞추어서 합성하고, 전송시에 수신측 장치의 부호화처리부의 갯수와 맞추어서 재차 서브샘플해서 각각 헤더를 붙여서 순차 전송하도록 하였으므로, 수신측에서는 다음의 데이타가 올때까지 시간이 있어 수신동작과 부호화처리의 시간격차를 해소한다.The image encoding transmission apparatus according to the present invention sequentially inputs subsample image data obtained by subsampled image data every frame for one frame, and encodes them in parallel by the encoding processing unit, so that the number of effective pixels of the subsample image data to be processed is increased. Is equalized. In addition, the encoded coded image data were synthesized in accordance with the receiving side apparatus, and at the time of transmission, they were subsampled again in accordance with the number of encoding processing units of the receiving side apparatus, and the respective headers were sequentially transmitted. Time eliminates the time gap between the receiving operation and the encoding process.

이하 본 발명의 제1의 실시예를 도면에 따라서 설명한다.EMBODIMENT OF THE INVENTION Hereinafter, 1st Embodiment of this invention is described according to drawing.

제1도는 본 발명의 1실시예에 의한 디지탈신호처리장치의 구성을 도시한 블럭도이며, 종래의 디지탈신호처리장치(제14도)와 동일 또는 해당부분에는 동일부호를 붙여서 설명을 생략한다.FIG. 1 is a block diagram showing the configuration of a digital signal processing apparatus according to an embodiment of the present invention. The same or corresponding portions as those in the conventional digital signal processing apparatus (FIG. 14) are denoted by the same reference numerals, and description thereof will be omitted.

제1도에 있어서, (8)은 데이타연산부(5)에서 출력되는 연산결과 데이타를 데이타경로(108)을 거쳐서 직접 입력하고, 명령실행제어부(2)에서 데이타경로(110)을 거쳐서 지시되는 유효비트수로 리미트처리하는 리미트 처리부이다.In Fig. 1, reference numeral 8 denotes a valid input of arithmetic result data output from the data computing section 5 via the data path 108, and instructed via the data path 110 in the command execution control section 2; It is a limit processing unit that limits processing by the number of bits.

다음에, 동작에 대해서 제2도의 흐름도를 사용해서 설명한다. 여기에서는 n(n〉0의 정수)비트의 2입력 데이타에 대해서 데이타연산부(5)에서 임의의 2개의 항의 연산처리를 실행한 후, 이 연산결과(5)에서 임의의 2개의 항의 연산처리를 실행한 후, 이 연산 결과 데이타(n비트)에 대해서 n(m≤n의 정수)비트를 유효비트수로하는 리미트처리를 실행하는 경우에 대해서 설명한다.Next, the operation will be described using the flowchart shown in FIG. In this example, the arithmetic processing of any two terms is executed by the data operation section 5 on two input data of n (n> 0 integer) bits, and then the arithmetic processing of any two terms is executed from this calculation result (5). After execution, a description will be given of a case where a limit process is executed in which the number of bits (an integer of n? N) of the operation result data (n bits) is the number of valid bits.

먼저, 명령실행제어부(2)는 어드레스 경로(101)을 거쳐서 지시된 어드레스를 명령메모리(1)에 통지하고, 해당하는 명령어를 해독해서 데이타경로(104)를 거쳐서 제어신호를 어드레스생성부(6)에 통지함과 동시에 필요에 따라서 데이타등을 데이타경로(103)을 거쳐서 데이타입력버스(3)으로 송출하고, 데이타경로(110)을 거쳐서 리미트처리부(8)에 유효비트수를 통지한다.First, the command execution control unit 2 notifies the command memory 1 of the indicated address via the address path 101, decodes the corresponding command, and transmits a control signal to the address generation unit 6 via the data path 104. FIG. In addition, the data is sent to the data input bus 3 via the data path 103, and the number of valid bits is notified to the limit processing section 8 via the data path 110 as necessary.

이 제어신호에 의해 어드레스 생성부(6)은 데이타경로(107)을 거쳐서 데이타메모리(4)에 연산에 필요한 2입력 데이타(각각 n비트)의 어드레스를 통지하고, 이 데이타메모리(4)는 해당하는 2입력 데이타를 데이타 경로(105)를 거쳐서 데이타 입력버스(3)으로 송출한다. 데이타 연산부(5)는 이 데이타입력버스(3)으로 송출된 2입력 데이타를 데이타경로(106)을 거쳐서 입력하고 명령실행제어부(2)에서 데이타경로(103)을 거쳐서 지시되는 소정의 2개의 항의 연산처리를 실행하고(스텝ST4), 연산결과 데이타(n비트)를 데이타경로(108)을 거쳐서 리미트처리부(8)에 직접 출력한다. 그리고, 리미트처리부(8)은 이 연산결과 데이타를 명령 실행 제어부(2)에서 데이타경로(110)을 거쳐서 지시되는 유효비트수 m비트로 리미트처리하고 이 리미트처리된 연산결과 데이타를 데이타경로(111)을 거쳐서 데이타 출력버스(7)로 송출한다. 또, 이 데이타 출력버스(7)로 송출된 연산결과 패킷은 데이타경로(109)를 거쳐서 데이타메모리(4)에 입력되고, 재차 어드레스 생성부(6)에서 데이타경로(107)을 거쳐서 부여되는 어드레스에 기억되고(스텝ST5) 처리를 종료한다. 이상의 동작에 의해 하나의 명령으로 연산 및 리미트처리가 실행가능하게 된다.By this control signal, the address generating section 6 notifies the data memory 4 of the two input data (n bits each) required for the operation via the data path 107, and this data memory 4 corresponds to the corresponding data. 2 input data are sent to the data input bus 3 via the data path 105. The data calculating section 5 inputs the two input data sent to the data input bus 3 via the data path 106 and the two predetermined terms indicated by the command execution control section 2 via the data path 103. The arithmetic processing is executed (step ST4), and the arithmetic result data (n bits) is directly output to the limit processing section 8 via the data path 108. The limit processing unit 8 then limits the operation result data to the effective number of bits m bits indicated by the instruction execution control unit 2 via the data path 110, and the limit processing unit data is processed into the data path 111. The data is output to the data output bus 7 via. The arithmetic result packet sent to the data output bus 7 is input to the data memory 4 via the data path 109, and is again given to the address via the data path 107 by the address generator 6 again. Are stored in step S5 (step ST5). By the above operation, operation and limit processing can be executed by one instruction.

다음에, 본 발명의 제2의 실시예를 도면에 따라서 설명한다. 제3도에 있어서, (11)및 (13)은 상술한 입력단자 및 출력단자이고, (14)는 입력단자(11)에서 입력된 입력데이타가 기억되는 입력 프레임메모리이다. (15)는 입력 프레임메모리(14)에 접속되고, 처리량에 맞추어서 병렬방향으로 확장가능한 여러개의 프로세서(12)로 이루어지는 전단 멀티프로세서로써, 입력단자(11)에서 입력되는 입력데이타의 전체화소를 대상으로 하는 부호화처리를 담당하고, 블럭데이타에 유효/무효블럭정보 및 프레임내의 위치정보를 부가하는 기능을 구비하고 있다. (16)은 마찬가지로 처리량에 맞추어서 병렬방향으로 확장가능한 여러개의 프로세서(12)로 이루어지는 후단 멀티프로세서로써, 입력단자(11)에서 입력되는 입력데이타의 유효블럭만을 부호화대상으로 하는 처리를 담당하고 전단 멀티프로세서(15)에 의해서 블럭데이타에 부가된 유효/무효블럭정보 및 위치정보에서 유효블럭의 식별 및 프레임의 재구성을 실행하는 기능을 구비하고 있다.Next, a second embodiment of the present invention will be described with reference to the drawings. In Fig. 3, reference numerals 11 and 13 denote the above-described input terminals and output terminals, and reference numeral 14 denotes an input frame memory in which input data input from the input terminal 11 is stored. 15 is a front end multiprocessor composed of several processors 12 connected to the input frame memory 14 and expandable in parallel in accordance with the throughput, and targets all pixels of the input data input from the input terminal 11. It is in charge of the encoding process, and has a function of adding valid / invalid block information and position information in a frame to block data. Similarly, 16 is a rear end multiprocessor composed of several processors 12 expandable in parallel in accordance with the throughput, and is responsible for processing only the effective block of input data input from the input terminal 11 as the encoding target. The processor 15 has a function of identifying valid blocks and reconstructing frames from valid / invalid block information and positional information added to the block data.

(17)은 이들 전단 멀티프로세서(15)와 후단 멀티프로세서(16)사이에 배치되고, 전단 멀티프로세서(15)에서 출력되는 부호화 데이타를 기억함과 동시에 멀티프로세서(15)와 후단 멀티프로세서(16)의 처리시간차를 완충하는 버퍼이다. (18)은 후단 멀티프로세서(16)에 접속되어 부호화데이타를 받고, 전단 멀티프로세서(15)에 피드백 데이타를 보내서 그 부호화데이타의 발생량을 제어하는 스레쉬홀드값을 조정하고, 전단 멀티프로세서(15)의 부호화데이타의 발생량을 일정하게 제한함과 동시에 버퍼(17)의 데이타축적량에 따라서 유효블럭수를 변화시키고, 후단 멀티프로세서의 처리량을 일정하게 유지해서 출력데이타를 출력단자(13)으로 송출하는 출력제어부이다. (19)는 마찬가지로 후단 멀티프로세서(16)에 접속되어 보내져 오는 복호화데이타를 기억하고, 다음의 프레임처리시에 전단 멀티프로세서(15)로 보내지는 부호화프레임 메모리(FM)이다.17 is disposed between the front end multiprocessor 15 and the back end multiprocessor 16, and stores the encoded data output from the front end multiprocessor 15, and at the same time, the multiprocessor 15 and the back end multiprocessor 16 This buffer buffers the difference in processing time. 18 is connected to the rear end multiprocessor 16 to receive encoded data, sends feedback data to the front end multiprocessor 15, adjusts the threshold value for controlling the amount of generation of the encoded data, and the front end multiprocessor 15 The number of effective blocks is changed constantly according to the amount of data stored in the buffer 17, the throughput of the subsequent multiprocessor is kept constant, and the output data is sent to the output terminal 13. Output control part. Similarly, reference numeral 19 denotes an encoded frame memory FM which stores decoded data connected to the subsequent multiprocessor 16 and is sent to the front end multiprocessor 15 during the next frame processing.

(171)은 전단 멀티프로세서(15)에서 처리되어 버퍼(17)에 저장된 블럭데이타, (172)는 각 블럭데이타(171)에 부가되어 데이타의 속성을 나타내는 파라미터이다.Reference numeral 171 denotes block data processed by the front end multiprocessor 15 and stored in the buffer 17, and 172 is a parameter added to each block data 171 to indicate an attribute of data.

다음에, 동작에 대해서 설명한다. 본 발명의 대상으로 되는 부호화처리에 있어서, 조건부 화소보충을 실행하기 이전의 전단처리와 그 이후의 후단처리로 나눈 경우, 전단처리 및 후단처의 유효블럭율 α와 처리시간 T의 관계는 다음식으로 나타낸다.Next, the operation will be described. In the encoding process of the present invention, in the case of dividing into a front end process before performing a conditional pixel supplementation and a post end process thereafter, the relationship between the effective block rate α and the processing time T of the front end process and the post destination is expressed by the following equation. Indicates.

전단처리인 경우Shearing

Figure kpo00012
Figure kpo00012

C : 정수C: integer

후단처리인 경우Post-processing

Figure kpo00013
Figure kpo00013

A : 정수A: integer

제4도에 상기 식(3) 및 (4)를 도시한다. 도면에서, 부호화처리는 처리시간의 특성에서 유효블럭율 α에 관계없이 처리시간이 일정한 전단처리와 유효블럭율 α에 비례하는 후단처리로 크게 구별된다. 본 발명에서는 이 전단처리와 후단처리를 각각의 처리량에 맞추어서 병렬방향으로 확장가능한 전단 멀티프로세서(15)와 후단 멀티프로세서(16)에서 개별적으로 처리하고 있다.Equations (3) and (4) are shown in FIG. In the figure, the encoding process is largely divided into a front end process in which the processing time is constant and a post end process in proportion to the effective block rate α, regardless of the processing time characteristics. In the present invention, the front end process and the post end process are separately processed by the front end multiprocessor 15 and the rear end multiprocessor 16 which are expandable in parallel in accordance with respective throughputs.

즉, 입력단자(11)에서 입력되어 입력 프레임메모리(14)에 기억된 입력데이타는 전단 멀티프로세서(15)내의 처리유닛에 의해서 움직임 보상 및 조건부 화소보충등의 전단처리가 실행되고, 그 처리결과가 버퍼(17)로 출력된다. 전단 멀티프로세서(15)를 구성하는 각 프로세서(12)는 처리를 완료한 순서대로 입력 프레임메모리(14)에서 블럭데이타를 입력한다. 이때의 각 프로세서(12)의 처리시간은 블럭데이타에 따라서 변화하기 때문에, 버퍼(17)로의 출력순은 입력 프레임메모리(14)의 주사순서와는 일치하지 않는다. 그래서, 전단 멀티프로세서(15)의 각 프로세서(12)에서 버퍼(17)로 출력되는 데이타는 프레임내의 위치를 나타내는 위치 정보가 부가됨과 동시에 유효/무효정보, 데이타의 종별 정보도 부가된 데이타구조로 된다.In other words, the input data input from the input terminal 11 and stored in the input frame memory 14 is subjected to the front end processing such as motion compensation and conditional pixel supplement by the processing unit in the front end multiprocessor 15, and the processing result. Is output to the buffer 17. Each processor 12 constituting the front end multiprocessor 15 inputs block data from the input frame memory 14 in the order of completion of processing. Since the processing time of each processor 12 at this time varies depending on the block data, the output order to the buffer 17 does not match the scanning order of the input frame memory 14. Therefore, the data output from each processor 12 of the front end multiprocessor 15 to the buffer 17 is a data structure in which the position information indicating the position in the frame is added and the valid / invalid information and the type information of the data are also added. do.

버퍼(17)에 기억된 블럭데이타는 후단 멀티프로세서(16)에 의해서 백터양자화, 이산적 COS변환, 복호화 등의 후단처리가 실행되고, 부호화데이타는 출력제어부(18)로, 복호화데이타는 부호화 프레임메모리(19)로 각각 출력된다. 이때, 데이타 부가정보를 참조해서 유효블럭에 대해서만 처리가 실행된다. 부호화 프레임메모리(19)에 기억된 복호화데이타는 전단 멀티프로세서(15)에 보내져서 다음 프레임의 부호화에 이용된다. 출력제어부(18)은 전단 멀티프로세서(15)에 피드백 데이타를 보내서 전단처리에 대해서 스레쉬홀드값을 제어하고, 부호화데이타의 발생량을 일정하게 제한한다. 또, 출력제어부(18)은 버퍼(17)내의 데이타량을 감시해서 그 데이타축적량에 따라서 유효블럭수를 변화시키고 후단처리의 처리량을 일정하게 제한해서 후단 멀티프로세서(16)의 부담을 경감한다.The block data stored in the buffer 17 is subjected to post-sequence processing such as vector quantization, discrete COS conversion, and decoding by the subsequent multiprocessor 16. The encoded data is output to the output controller 18, and the decrypted data is encoded frames. Outputted to the memory 19, respectively. At this time, the process is executed only for the valid block with reference to the data additional information. Decoded data stored in the encoded frame memory 19 is sent to the front end multiprocessor 15 for use in encoding the next frame. The output controller 18 sends the feedback data to the front end multiprocessor 15 to control the threshold value for the front end process, and constantly limits the amount of encoding data generated. In addition, the output control unit 18 monitors the amount of data in the buffer 17, changes the number of effective blocks in accordance with the amount of data accumulation, and reduces the load of the rear end multiprocessor 16 by constantly limiting the throughput of the post processing.

또, 제4도에 도시되는 전단의 처리시간 T2와 후단처리시간 T1사이의 처리시간차 T1-T2는 전단 멀티프로세서(15)와 후단 멀티프로세서(16)과의 사이에 놓여진 버퍼(17)에 의해서 완충되어 전단 멀티프로세서(15) 및 후단 멀티프로세서(16)의 최대처리능력에 가까운 처리성능을 실현한다. 그 결과, 전체 부호화과정에서 제19도의 사선으로 나타내는 면적분의 빈시간에 의한 손실을 해소할 수 있다.In addition, the processing time difference T 1 -T 2 between the front end processing time T 2 and the post end processing time T 1 shown in FIG. 17), the buffering system is buffered by the front end processor 15 to realize processing performance close to the maximum processing capacity of the front end multiprocessor 15 and the rear end multiprocessor 16. FIG. As a result, the loss due to the free time for the area indicated by the oblique line in FIG. 19 can be eliminated in the entire encoding process.

다음에, 제5도에 따라서 본 발명의 제3의 실시예를 설명한다.Next, a third embodiment of the present invention will be described with reference to FIG.

제5도는 움직임 보상프레임간 부호화장치의 구성도이다. 도면에 있어서, (47)은 재생프레임 1프레임분에 대해서 움직임 보상에 사용되는 ℓ1×ℓ2 사이즈의 블럭을 균등하게 분할할 수 있는 소정의 크기의 소블럭(평균값 블럭) 단위로 그 평균값 블럭내의 화소의 평균값(48)을 구하는 평균값 계산회로, (49)는 1프레임분의 평균값 블럭단위의 평균값(48)을 유지하는 평균값 프레임메모리이다.5 is a block diagram of a motion compensation interframe encoding apparatus. In the figure, reference numeral 47 denotes pixels in the average value block in units of small blocks (average value blocks) of a predetermined size capable of equally dividing a block of size L1 x L2 used for motion compensation for one frame of a playback frame. An average value calculation circuit for obtaining the average value 48 of the block, 49, is an average value frame memory which holds the average value 48 in the average value block unit for one frame.

그리고, 제6도는 움직임 보상부(35)의 내부구성도로써, 도면에 있어서, (51)은 부호화대상 입력블럭내에서 상기 평균값 블럭단위의 평균값(48)을 계산하는 평균값 계산회로, (53)은 이 입력블럭내의 평균값 블럭의 각 평균값을 하나의 패턴으로써 유지하는 입력평균값 메모리이다.6 is an internal configuration diagram of the motion compensator 35. In the drawing, reference numeral 51 denotes an average value calculation circuit for calculating an average value 48 of the average value block unit within an encoding target input block. Is an input average value memory which holds each average value of the average block in this input block as a pattern.

또, (54)은 입력블럭의 평균값 패턴과 상기 평균값 프레임메모리(49)내의 평균값 패턴과의 사이에서 왜곡량 계산을 실행하고 또한 최소왜곡 블럭을 검출하는 평균값 패턴 매칭회로, (56)은 입력블럭과 프레임메모리내의 탐색범위내 블럭과의 사이에서 화상간 왜곡량을 계산해서 최소왜곡 블럭의 위치검출을 실행하는 화소패턴 매칭회로이다.Further, reference numeral 54 denotes an average value pattern matching circuit for performing distortion calculation between the average value pattern of the input block and the average value pattern in the average frame memory 49 and detecting the minimum distortion block. And a pixel pattern matching circuit that calculates the position of the least distortion block by calculating the inter-image distortion amount between the block and the block in the search range in the frame memory.

또, 제8도 및 제9도는 평균값 패턴 최소왜곡에 의한 제1단째 움직임 벡터 검출방법의 설명도이며, 도면에 있어서 (50)은 재생프레임 평균값 패턴의 탐색범위, (52)는 입력블럭의 평균값 패턴, (57)은 평균값 블럭이다.8 and 9 are explanatory diagrams of a first-stage motion vector detection method based on the average value pattern minimum distortion. In the drawing, reference numeral 50 denotes a search range of a reproduction frame average value pattern, and 52 denotes an average value of an input block. The pattern (57) is an average value block.

계속해서, 본 발명의 작용을 설명한다.Subsequently, the operation of the present invention will be described.

입력신호(31)은 종래와 마찬가지의 동작에 의해 부호화부(39)에서 부호화되고 또한 복호화부(41)에서 복호화되어 복호재생데이타(43)으로 되고, 이 복호재생데이타(43)은 종래와 마찬가지로 프레임메모리(44)에 저장됨과 동시에 1프레임을 k1×k2의 크기의 평균값블럭(57)로 분할하고, 이 평균값 블럭마다 화소의 평균값을 구할 수 있다(제5도 참조).The input signal 31 is encoded by the encoding unit 39 and decoded by the decoding unit 41 by the same operation as in the prior art to form the decoding reproduction data 43. The decoding reproduction data 43 is similar to the conventional one. At the same time as being stored in the frame memory 44, one frame is divided into an average value block 57 having a size of k1 x k2, and the average value of pixels can be obtained for each average block (see FIG. 5).

그리고 이때의 평균값 블럭을 움직임 보상에 이용하는 ℓ1×ℓ2의 크기의 블럭을 균등하게 분할할 수 있는 사이즈로 하면, ℓ1×ℓ2 블럭중에 J(J=ℓ1×ℓ2)/(k1×k2))의 평균값이 존재한다.If the average block at this time is sized to equally divide a block of size L1 × L2 used for motion compensation, the average value of J (J = L1 × L2) / (k1 × k2) in the L1 × L2 block. This exists.

또한, 이때의 각 평균값 블럭내의 화소평균값 aj(j=1~J)를 모아서 하나의 패턴 A로써 취급하게 된다.The pixel average values aj (j = 1 to J) in each average block at this time are collected and treated as one pattern A. FIG.

즉, A={a1, a2, …aJ}로 한다.That is, A = {a1, a2,... aJ}.

계속해서, 움직임벡터 검출의 방법은 제7도의 흐름도에 도시한 바와 같이 제1단째로서 탐색움직임 벡터의 배치간격을 평균값 블럭의 사이즈에 맞추어서 최소왜곡 블럭을 탐색한다(스텝 ST11)(제10도 참조).Subsequently, in the motion vector detection method, as shown in the flowchart of FIG. 7, the minimum distortion block is searched for according to the size of the average value block by the arrangement interval of the search motion vectors (step ST11) (see FIG. 10). ).

그리고, 입력블럭(33)에 대해서는 평균값 계산회로(51)에서 평균값패턴(52)를 산출해 두고, 이 입력블럭 평균값패턴과 움직임 벡터의 위치의 블럭에 상당하는 전 프레임의 평균값 패턴과의 사이에서 매칭왜곡 계산 및 최소왜곡 블럭검출용 평균값패턴 매칭회로(54)에서 실행한다(스텝 ST12)(제9도 참조).For the input block 33, the average value pattern 52 is calculated by the average value calculating circuit 51, and the average value pattern 52 is calculated between the input block average value pattern and the average value pattern of all frames corresponding to the block of the position of the motion vector. The average distortion pattern matching circuit 54 for matching distortion calculation and minimum distortion block detection is executed (step ST12) (see Fig. 9).

평균값 왜곡량은 이하의 식으로 나타낸다.The average distortion amount is represented by the following formula.

Figure kpo00014
Figure kpo00014

또한, 입력블럭 평균값패턴 A={a1, a2, …aJ}, 재생프레임 평균값패턴 Ay={ay1, ay2, …ayJ}로 한다.Further, the input block average value pattern A = {a1, a2,... aJ}, playback frame average value pattern Ay = {ay1, ay2,... ayJ}.

이때, 평균값패턴 매칭을 사용하는 것에 의해 연산량은 1입력블럭 및 재생프레임 블럭당으로 평균값 산출해 l1×l2 기계사이클, 평균값 패턴 매칭 1회당 J 기계사이클로 된다.At this time, the average value pattern matching is used to calculate the average value for each input block and playback frame block, thereby making the machine cycle l1 × l2 and the J machine cycle per average pattern matching.

따라서, 제1단째 탐색에 있어서, 소요연산량 C1은Therefore, in the first stage search, the required calculation amount C1 is

Figure kpo00015
Figure kpo00015

로 된다. M1은 제1단째 움직임벡터의 갯수이다.It becomes M1 is the number of motion vectors in the first stage.

다음에, 화소패턴 매칭회로(56)에 있어서의 움직임 검출스텝은 제11도에 도시한 바와 같이 평균값 패턴 매칭회로(54)에서 구한 최소왜곡 블럭(58)을 중심으로 해서 m1×n1의 사이즈를 갖는 한정화 탐색범위(59)를 설정하고, 이 범위내에 있어서 고밀도로 탐색대상으로 되는 움직임 벡터를 배치한다(스텝 ST13).Next, the motion detection step in the pixel pattern matching circuit 56 measures the size of m1 x n1 centering on the minimum distortion block 58 obtained by the average value pattern matching circuit 54 as shown in FIG. The defined search range 59 is set, and motion vectors to be searched with high density are arranged within this range (step ST13).

한정화 탐색범위(59)내에서의 연산량 C2는The amount of calculation C2 in the limited search range 59 is

Figure kpo00016
Figure kpo00016

와 비교처리의Of comparison processing

(2m1+1)(2n+1)+b(2m1 + 1) (2n + 1) + b

와의 합으로 된다.Is the sum of and.

여기서, l1=8, l2=8, m=8, 평균값 블럭 k1=4, k2=4, 연산기계사이클수 a=1(차분절대값), b=2(비교처리)로 하면, 탐색벡터 갯수 M1=25개, J=4개로 된다.Where l1 = 8, l2 = 8, m = 8, average block k1 = 4, k2 = 4, arithmetic cycles a = 1 (differential absolute value), b = 2 (compare) M1 = 25 and J = 4.

따라서, 제1단째에 있어서의 소요연산량 C1은 약 1800으로 된다.Therefore, the required calculation amount C1 in the first stage is about 1800.

또, 제2단째의 탐색에 있어서 한정화 탐색범위를 m1=3, n1=3으로 하면, 제2단째에 있어서의 소요연산량 C2는 약 3200 기계사이클로 된다.When the limited search range is m1 = 3 and n1 = 3 in the search for the second stage, the required calculation amount C2 in the second stage is about 3200 machine cycles.

이상에 의해 1입력 블럭당 5000 기계사이클로 되고, 종래의 전체 탐색의 연산량의 약 1/4로 된다.As a result, it becomes 5000 machine cycles per input block, and is about 1/4 of the calculation amount of the conventional full search.

또한 상술한 실시예에 있어서는 입력블럭을 소블럭으로 분할하고, 이 소블럭에 의한 샘플데이타 패턴으로써 소블럭내 화소평균값에 의한 평균값패턴을 이용한 사례를 나타냈지만, 이것에 한정되지 않고 소블럭내의 특정위치의 화소값을 꺼낸 샘플데이타 패턴을 사용하여도 마찬가지의 효과를 얻을 수가 있다.In the above-described embodiment, an example in which the input block is divided into small blocks and a sample data pattern by the small block is used as the average value pattern based on the pixel average value in the small block is shown. The same effect can be obtained also by using the sample data pattern which took out the pixel value of a position.

다음에, 본 발명의 제4의 실시예를 도면에 따라서 설명한다.Next, a fourth embodiment of the present invention will be described with reference to the drawings.

제12도는 본발명에 관한 화상부호화전송방식을 실시하는 장치의 구성을 도시한 블럭도로써, 도면에 있어서, (66)은 입력되는 화상데이타, (67)은 1프레임분의 상기 화상데이타(66)을 각 부호화처리 전용메모리(68)에 분배하는 데이타제어부(DMUX), (68)은 각 부호화처리부(69)에 대응해서 마련되어 상기 서브샘플 화상데이타(66)을 저장하는 부호화처리 전용메모리, (69)는 상기 부호화처리 전용메모리(68)에 저장된 서브샘플 화상데이타(66)을 각각 부호화하는 부호화처리부, (70)은 상기 부호화처리부(69)에서 부호화된 부호화 화상데이타(72)를 전부 또는 수신측장치(도시하지 않음)의 해상도에 맞추어서 적응적으로 선택해서 합성하고, 재차 서브샘플해서 순차 전송하는 부호화 전송제어부(MUX), (71)은 상기 부호화처리부(69)가 리드하는 서브샘플 화상데이타(66)의 어드레스 및 데이타버스, (72)는 상기 부호화처리부(69)에서 부호화된 부호화 화상데이타, (73)은 수신측장치의 해상도가 표준인가(동일 해상도인가)또는 서브샘플인가(1/2, 1/4등의 해상도인가)를 나타내는 부호화모드 제어신호, (74)는 수신측장치의 해상도에 맞추어서 합성되고, 재차 서브샘플된 전송용 데이타이다.FIG. 12 is a block diagram showing the configuration of an apparatus for implementing an image encoding transmission method according to the present invention, where reference numeral 66 denotes input image data and 67 denotes one frame of the image data 66. ) Is a data control unit (DMUX) for distributing to each encoding processing dedicated memory 68, an encoding processing dedicated memory for storing the subsample image data 66 provided corresponding to each encoding processing unit 69, ( 69 is an encoding processing unit for encoding the subsample image data 66 stored in the encoding processing dedicated memory 68, and 70 is all or received the encoding image data 72 encoded by the encoding processing unit 69. The coded transmission control units (MUX) and 71 which are adaptively selected and synthesized according to the resolution of the side device (not shown), and subsampled again and sequentially transmitted are subsample image data read by the coding processor 69. 66 words The response and data bus 72 denotes coded image data encoded by the encoding processor 69, and 73 denotes whether the resolution of the receiving apparatus is standard (same resolution) or subsample (1/2, 1 / The encoding mode control signal 74 indicating the resolution of 4 or more) is synthesized according to the resolution of the receiving side apparatus, and is again subsampled transmission data.

제13도는 1프레임의 화상데이타를 구성하는 화소가 중복하지 않도록 간헐적으로 해서 여러개의 데이타로 화소분할하는 서브샘플을 설명하는 도면이다. 도면에 있어서 제13a도와 같은 1프레임의 화상데이타에서 4개의 서브샘플 화상데이타(제13b도~제13e도)를 작성하는 경우(1/4 서브샘플)를 고려한다. 제13a도와 같이 1프레임의 화상데이타의 화소를 기호 ○, ×, △, □의 4종류로 분류하면, 각각 동일도면 B, C, D, E와 같이 1/4의 해상도의 서브샘플 화상데이타(1/4 서브샘플)을 작성할 수 있다. 예를들면, 동일도면 b에 대해서 보면, 1프레임의 화상데이타(동일도면 a)에서 기호 ○ 이외의 기호 ×, △, □의 화소를 빼고 데이타를 작성할 수 있다(당연히, 데이타량, 즉 화소수는 1/4로 된다).FIG. 13 is a diagram for explaining a subsample in which pixels are divided into a plurality of data intermittently so that pixels constituting one frame of image data do not overlap. In the figure, the case where four subsample image data (Figs. 13B to 13E) is generated from one frame of image data as shown in Fig. 13A is considered (1/4 subsample). As shown in FIG. 13A, when pixels of image data of one frame are classified into four types of symbols ○, ×, △, and □, subsample image data having a resolution of 1/4 as shown in the same drawings B, C, D, and E ( 1/4 subsample). For example, with reference to the same drawing b, data can be created by subtracting pixels of symbols x, Δ, and □ other than the symbol ○ from image data of one frame (the same drawing a). Becomes 1/4).

다음에, 동작에 대해서 설명한다.Next, the operation will be described.

데이타제어부(67)은 화상데이타(66)을 1프레임분 순차 입력하고 각 부호화처리 전용메모리(68)에 분배하여 전송한다.The data control unit 67 sequentially inputs the image data 66 for one frame and distributes the data to the encoding processing dedicated memory 68 for transmission.

이 부호화처리 전용메모리(68)에 저장된 화상데이타는 각각 대응해서 병렬배치되어 있는 부호화처리부(69)에 리드되어 부호화된다. 이 부호화된 부호화 화상데이타(72)는 부호화전송 제어부(70)으로 출력되고, 부호화모드 제어신호(73)의 지시에 의해 이 부호화 화상데이타(72)의 모두 또는 적응적으로 합성하여 전송할때에 수신측장치가 갖는 부호화처리부의 갯수에 맞추어서 재차 서브샘플하고, 이 서브샘플된 데이타에 헤더를 붙여서 전송용 데이타(74)로써 1프레임분 순차 전송한다.The image data stored in the encoding processing dedicated memory 68 are read and encoded by the encoding processing section 69 which are respectively arranged in parallel. The encoded coded image data 72 is output to the coded transmission control section 70 and received when all or adaptively synthesized and transmitted of the coded image data 72 according to the instruction of the encoding mode control signal 73. Subsampled again according to the number of encoding processing units owned by the side apparatus, the header is attached to the subsampled data, and is sequentially transmitted for one frame as the transmission data 74.

여기서, 제13도와 같이 1/4서브샘플 화상데이타 제13b,c,d,e도를 입력한다고(부호화 처리부(69)가 4개 나란히 마련되어 있다고) 고려한다. 이 4개의 서브샘플 화상데이타는 각각 부호화 처리부(69)에서 부호화되고, 부호화전송 제어부(70)으로 출력된다. 이 부호화 전송제어부(70)에 있어서, 예를들면 부호화 모드제어신호(73)이 표준(수신측장치의 해상도와 동일)이면, 4개의 부호화 화상데이타(72)모두를 합성하고, 1/4서브샘플 모드(수신측장치의 해상도가 1/4)이면, 4개중 임의로 1개의 부호화 화상데이타(72)를 선택하고(합성하지 않아도 좋다), 1/2서브샘플 모드(수신측장치의 해상도가 1/2)이면, 4개중 2개의 부호화 화상데이타(72)를 임의로 선택해서 합성한다. 또한, 상기 실시예에서는 화상데이타의 서브샘플을 1/4로 하고 있지만, 1/2n(n=1, 2, 3, …) 서브샘플로 하여도 마찬가지의 효과를 얻는다.Here, as shown in Fig. 13, it is considered that the 1/4 subsample image data 13b, c, d, and e are inputted (the four encoding processing units 69 are provided side by side). These four subsample image data are encoded by the encoding processing unit 69 and output to the encoding transmission control unit 70. In the coded transmission control unit 70, for example, if the coded mode control signal 73 is standard (same as the resolution of the receiving side device), all four coded image data 72 are synthesized, and 1/4 sub If the sample mode (the resolution of the receiving side device is 1/4), one coded image data 72 is arbitrarily selected among 4 (it does not need to be synthesized), and the 1/2 subsample mode (the resolution of the receiving side device is 1). / 2), two coded image data 72 out of four are arbitrarily selected and synthesized. In the above embodiment, the subsample of the image data is 1/4, but the same effect can be obtained even with a 1 / 2n (n = 1, 2, 3, ...) subsample.

이상과같이, 본 발명의 제1의 실시예에 의하면, 데이타연산부에서 출력되는 연산결과 데이타를 직접 리미트처리부에 입력하고, 이 리미트처리부에서 명령실행 제어부로 부터 지시되는 임의의 유효비트수로 리미트처리하도록 구성하였으므로, 1명령으로 연산 및 리미트처리가 가능하게되어 효율적인 리미트처리를 실행할수 있는 디지탈신호 처리장치가 얻어진다는 효과가 있다.As described above, according to the first embodiment of the present invention, the operation result data output from the data computing unit is directly input to the limit processing unit, and the limit processing unit limits processing to any valid number of bits instructed by the instruction execution control unit. In this way, it is possible to obtain a digital signal processing apparatus capable of performing arithmetic and limit processing in one instruction and performing efficient limit processing.

본 발명의 제2의 실시예에 의하면, 전단 멀티프로세서와 후단 멀티프로세서에 의해서 전체 화소의 부호화와 유효블럭만의 부호화를 개별적으로 처리하고, 스레쉬홀드값 제어에 의해서 전단 멀티프로세서의 부호화데이타 발생량을 일정하게 제한하고, 양자를 완충하는 버퍼의 데이타의 축적량에 의해서 유효블럭수를 변화시켜서 후단 멀티프로세서의 처리량을 일정하게 유지하도록 구성하였으므로, 처리시간을 최악의 값으로 설정할 필요가 없게 되므로, 각 프로세서의 처리능력을 항상 최대한 까지 이끌어낼수가 있어 처리에 필요한 프로세서의 수를 삭감할수 있는 효과가 있다.According to the second embodiment of the present invention, the front end multiprocessor and the rear end multiprocessor process the encoding of all pixels and the encoding of the effective block separately, and the amount of encoding data generated by the front end multiprocessor by the threshold value control. Since the number of effective blocks is changed by the amount of data stored in the buffers buffering the buffers and the throughput of the subsequent multiprocessors is kept constant, the processing time does not need to be set to the worst value. Since the processing power of the processor can be always maximized, the number of processors required for processing can be reduced.

본 발명의 제3의 실시예에 의하면, 움직임벡터 탐색범위의 압축에 블럭내 평균값 패턴간 왜곡량을 사용하는 것에 의해 압축시점에서의 매칭에러를 방지함과 동시에 압축된 영역에 대해서만 고밀도의 움직임벡터 탐색을 실행하므로, 연산량을 감소함과 동시에 장치의 간소화가 가능하게 되어 검출정밀도가 높은 움직임벡터의 검출이 가능한 움직임 보상방식이 얻어지는 효과가 있다.According to the third embodiment of the present invention, by using the average intra-block distortion value for compressing the motion vector search range, a matching error at the time of compression is prevented and a high-density motion vector is obtained only for the compressed region. Since the search is performed, the amount of computation is reduced and the apparatus can be simplified, and a motion compensation method capable of detecting a motion vector with high detection accuracy can be obtained.

본 발명의 제4의 실시예에 의하며, 서브샘플된 서브샘플 화상데이타를 1프레임분 순차 입력하고, 각각 부호화처리부에서 병렬로 부호화하고, 이 부호화 화상데이타를 수신측장치의 해상도에 맞추어서 모두 또는 적응적으로 선택해서 합성하고, 전송시에 수신측장치가 갖는 부호화처리부의 갯수에 맞추어서 재차 서브샘플해서 순차 헤더를 붙여서 전송하도록 하였으므로, 상기 부호화처리부에서의 유효화소수를 균등화할수 있어 처리시간을 최대한 단축할수 있음과 동시에 저해상도의 수신측장치와의 접속 및 수신동작과 부호화처리의 시간격차의 해소에 의해 수신용 버퍼용량의 삭감을 가능하게 한다는 효과가 있다.According to the fourth embodiment of the present invention, the subsampled subsample image data is sequentially inputted for one frame, and each encoded processor is encoded in parallel, and the encoded image data is all or adapted to the resolution of the receiving side apparatus. By selecting and synthesizing the data, the sub-samples are sequentially re-sampled to match the number of encoding processing units of the receiving side apparatus to be transmitted, and the sequential headers are transmitted. At the same time, it is possible to reduce the receiving buffer capacity by connecting to the low resolution receiving side apparatus and eliminating the time difference between the receiving operation and the encoding process.

Claims (4)

마이크로 프로그램의 명령어를 기억하는 명령메모리(1), 상기 명령메모리(1)에서 명령어를 리드하고, 해독해서 연산등의 동작제어를 실행하는 명령실행 제어부(2), 데이타 및 제어신호를 전송하기 위한 데이타 입력버스(3), 연산데이타를 기억하는 여러개의 입출력 포트를 가진 데이타메모리(4), 상기 데이타메모리(4)에서 데이타 입력버스(3)을 거쳐서 전송된 2입력의 데이타에 대해서 여러가지의 연산을 실행하는 데이타연산부(5), 상기 데이타 연산부(5)의 2입력 1출력데이타의 어드레스를 각각 독립적으로 생성하는 어드레스 생성부(6), 상기 데이타의 연산결과 데이타를 전송하는 데이타 출력버스(7)을 포함하는 디지탈 신호처리장치에 있어서, 데이타연산부(5)에서 출력되는 연산결과 데이타를 데이타경로(108)을 거쳐서 직접 입력하고, 명령실행 제어부(2)에서 데이타경로(110)을 거쳐서 지시되는 유효비트수로 리미트처리하고, 이 리미트처리된 연산결과 데이타를 데이타경로(111)을 거쳐서 데이타 출력버스(7)로 송출하는 리미트처리부(8)을 포함하는 디지탈 신호처리장치.A command memory 1 for storing instructions of a micro program, a command execution control unit 2 for reading a command from the command memory 1, decoding the same, and executing operation control such as an operation, and for transmitting data and control signals. Various operations are performed on data input bus 3, data memory 4 having several input / output ports for storing operation data, and two input data transferred from data memory 4 via data input bus 3; A data operation section 5 for executing the operation, an address generation section 6 for independently generating the addresses of the two input and one output data of the data calculation section 5, and a data output bus 7 for transferring the calculation result data of the data. In the digital signal processing apparatus comprising a), the operation result data output from the data computing section 5 is directly input via the data path 108, and the instruction execution control section 2 And a limit processing section 8 for limiting the number of valid bits indicated through the data path 110, and for outputting the result of the processed calculation results to the data output bus 7 via the data path 111. Digital signal processing device. 입력단자(11)에서 입력되는 입력데이타의 전체 화소를 대상으로 하는 부호화처리를 담당하고, 처리량에 맞추어서 병렬방향으로 확장가능한 여러개의 프로세서(12)를 마련하고, 블럭데이타에 유효/무효블럭정보 및 프레임내의 위치정보를 부가하는 기능을 갖는 전단 멀티프로세서(15), 입력단자(11)에서 입력되는 입력데이타의 유효블럭만을 부호화대상으로 하는 처리를 담당하고, 처리량에 맞추어서 병렬방향으로 확장가능한 여러개의 프로세서(12)를 마련하고, 상기 전단 멀티프로세서(15)에 의해 상기 블럭데이타에 부가된 상기 유효/무효블록정보에 의해서 유효블럭을 식별하는 기능 및 상기 블럭데이타에 부가된 상기 위치정보에 따라서 프레임을 재구성하는 기능을 갖는 후단 멀티프로세서(16), 상기 전단 멀티프로세서(15)와 상기 후단 멀티프로세서(16)사이에서 상기 전단 멀티프로세서(15)에서 출력되는 부호화데이타를 기억함과 동시에 상기 전단 멀티프로세서와 상기 후단 멀티프로세서의 처리시간차를 완충하는 버퍼(17), 후단 멀티프로세서(16)에 접속되어 부호화데이타를 받고, 상기 전단 멀티프로세서(15)의 상기 부호화데이타의 발생량을 제어하는 스레쉬 홀드값을 조정하여 상기 전단 멀티프로세서의 부호화데이타 발생량을 일정하게 제한함과 동시에 상기 버퍼(17)의 데이타축적량에 따라서 상기 유효블럭수를 변화시켜서 상기 후단 멀티프로세서(16)의 처리량을 일정하게 유지하고, 출력데이타를 출력단자(13)으로 송출하는 출력제어부(18)을 구비하는 화상부호화장치.It is responsible for the encoding process for all the pixels of the input data input from the input terminal 11, and provides a plurality of processors 12 that can be extended in parallel in accordance with the throughput, and the effective / invalid block information and the block data It is responsible for processing only the effective block of the input data input from the front end multiprocessor 15 and the input terminal 11 having the function of adding position information in the frame, and can be expanded in parallel in accordance with the throughput. A processor 12 and a frame according to a function of identifying a valid block by the valid / invalid block information added to the block data by the front end multiprocessor 15 and the position information added to the block data. A rear end multiprocessor 16 having the function of reconstructing the front end multiprocessor 15 and the rear end multiprocessor 16; ) Is connected to a buffer 17 and a subsequent multiprocessor 16 which store the encoded data output from the front end multiprocessor 15 and buffer the processing time difference between the front end multiprocessor and the rear end multiprocessor. And a threshold hold value that controls the amount of generation of the encoded data of the front end multiprocessor 15 to limit the amount of generation of the encoded data of the front end multiprocessor at the same time and to the data accumulation amount of the buffer 17. Therefore, the image encoding apparatus includes an output control unit (18) for changing the effective number of blocks to maintain a constant throughput of the rear end multiprocessor (16), and to output output data to the output terminal (13). 시계열적으로 순차 입력되는 여러개의 프레임으로 이루어지는 디지탈 화상데이타의 현재의 입력프레임을 여러개의 블럭으로 분할하고 또한 현재의 입력프레임의 화상데이타의 각 블럭에 대해서 전회의 입력프레임 부호화 재생데이타중의 블럭과의 사이에서 패턴간의 근사를 계산함과 동시에 최소왜곡을 부여하는 블럭과 움직임벡터를 검출하는 움직임 보상부(35)를 구비하고, 상기 움직임 보상부에 의해 구한 최소왜곡 블록을 예측신호(36)으로 해서 부호화전송처리를 실행하는 움직임 보상프레임간 부호화장치에 있어서, 상기 입력블럭을 균등하게 분할할수 있는 크기의 소블럭으로 상기 재생데이타를 분할하고, 이 소블럭내 화소의 평균값 또는 특정위치의 화소값을 샘플로써 추출하는 샘플링회로(47), 상기 샘플링회로가 추출하는 샘플값을 적어도 1프레임분 기억하는 샘플 데이타메모리(49)를 구비하고, 상기 움직임 보상부는 상기 샘플링회로와 마찬가지로 상기 입력블럭에 대해서 각 소블럭마다의 평균값 또는 특정화소값으로 이루어지는 샘플데이타 패턴을 구하고, 상기 움직임벡터를 검출할때에 상기 재생프레임 데이타중에 상기 입력블럭과 동일위치를 중심으로 해서 상기 소블럭의 크기의 배수로 되는 위치에 제1의 탐색움직임 벡터군을 배치하고, 이들의 움직임 벡터를 나타내는 위치의 블럭내 샘플 데이타 패턴을 상기 샘플 데이타메모리에서 리드해서 상기 입력블럭의 샘플데이타 패턴과의 사이에서 패턴유사도를 나타내는 왜곡량을 산출하고, 그들의 왜곡량중에서 최소 왜곡량을 부여하는 제1의 탐색움직임벡터를 검출하고, 상기 제1의 탐색움직임 벡터를 중심으로 해서 높은 밀도에서 제2의 탐색 움직임벡터군을 배치하고, 제2의 탐색 움직임벡터군에 따라서 상기 재생프레임중의 블럭내 화소패턴과 상기 입력블럭내 화소패턴과의 사이에서 상기 왜곡량의 산출을 실행하고, 그들의 왜곡량중에서 최소왜곡을 부여하는 블럭 및 그 움직임벡터를 검출하고, 그들을 최종적인 예측신호 및 움직임벡터로써 출력하는 것을 특징으로 하는 움직임 보상프레임간 부호화장치.The current input frame of digital image data consisting of several frames sequentially input in time series is divided into a plurality of blocks, and each block of the image data of the current input frame is divided into blocks of the previous input frame encoding reproduction data. A motion compensator 35 for calculating a block approximation and detecting a motion vector while calculating an approximation between the patterns between the signals, and converting the minimum distortion block obtained by the motion compensator into a prediction signal 36. In the motion compensation inter-frame encoding apparatus for performing encoding transmission processing, the playback data is divided into small blocks of a size that can equally divide the input block, and the average value of the pixels in the small block or the pixel value at a specific position. A sampling circuit 47 for extracting the sample as a sample, and at least a sample value extracted by the sampling circuit. A sample data memory 49 for storing one frame is provided, and the motion compensator obtains a sample data pattern including an average value or a specific pixel value for each small block with respect to the input block, similarly to the sampling circuit, and the motion vector. Detects a first search motion vector group at a position that is a multiple of the size of the small block centering on the same position as the input block in the playback frame data, and blocks the positions representing the motion vectors. A first search motion vector is read from the sample data memory to calculate a distortion amount representing a pattern similarity between the sample data patterns of the input block, and a first search motion vector giving a minimum distortion amount among the distortion amounts. And at a high density around the first search motion vector. Two search motion vector groups are arranged, and the distortion amount is calculated between the intra-block pixel pattern in the playback frame and the pixel pattern in the input block according to the second search motion vector group, and their distortion A motion compensation interframe encoding apparatus characterized by detecting a block giving a minimum distortion and its motion vector, and outputting them as a final prediction signal and a motion vector. 화상데이타를 부호화하는 n(n은 1이상의 정수)개의 부호화처리부(69)를 병렬로 배치한 화상부호화장치에 있어서, 화상데이타(66)을 1프레임분 순차 입력하고, 각 부호화처리 전용메모리(68)에 분배하여 전송하는 데이타제어부(67), 화상데이타(66)을 1프레임마다 n개로 서브샘플해서 얻어진 데이타이며 또한 순차 헤더를 붙여서 전송되는 서브샘플 화상데이타를 1프레임분 입력하는 각 부호화처리 전용메모리(68), 이 입력된 n개의 서브샘플 화상데이타를 각각 부호화하는 n개의 부호화처리부(69), m(m은 1이상의 정수)개의 부호화처리부를 병렬로 배치한 수신측장치의 해상도에 맞추고, 이 n개의 부호화된 부호화 화상데이타의 모두 또는 선택적으로 선택한 부호화 화상데이타를 합성하고, 이 합성된 부호화 화상데이타를 재차 m개로 서브샘플하고, 순차 헤더를 붙여서 전송용 데이타(74)로써 1프레임을 순차로 전송하는 부호화 전송제어부(70)을 포함하는 화상부호와 전송장치.In an image encoding apparatus in which n (n is an integer of 1 or more) coding units 69 for encoding image data are arranged in parallel, the image data 66 is sequentially input for one frame, and each encoding processing dedicated memory 68 Dedicated to each encoding process for inputting one frame of subsample image data, which is data obtained by subsampling the data control unit 67 and the image data 66 into n frames per frame and transmitted with a sequential header. The memory 68, the n encoding processing units 69 for encoding the input n subsample image data respectively, and the encoding processing units in which m (m is an integer of 1 or more) in parallel with each other in accordance with the resolution of the receiving side apparatus; All or optionally selected coded picture data of the n coded coded picture data are synthesized, the sample coded coded picture data is subsampled into m pieces, and the sequential header is obtained. And a picture code transmission device comprises a coding transfer controller 70 to transfer the one frame in sequence as yeoseo transmission for data (74).
KR1019900002425A 1989-02-27 1990-02-26 Digital signal processing apparatus KR920010514B1 (en)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
JP1-45632 1989-02-27
JP1045632A JPH02224468A (en) 1989-02-27 1989-02-27 Picture coding system
JP1-50101 1989-03-03
JP8185189A JP3046313B2 (en) 1989-03-31 1989-03-31 Motion compensation method for interframe coding
JP1-81851 1989-03-31
JP1-132646 1989-05-29
JP1132648A JPH02312415A (en) 1989-05-29 1989-05-29 Simplified fading generator
JP1268406A JPH03129522A (en) 1989-10-16 1989-10-16 Digital signal processor
JP1-268406 1989-10-16

Publications (2)

Publication Number Publication Date
KR910016202A KR910016202A (en) 1991-09-30
KR920010514B1 true KR920010514B1 (en) 1992-11-30

Family

ID=27461746

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019900002425A KR920010514B1 (en) 1989-02-27 1990-02-26 Digital signal processing apparatus

Country Status (1)

Country Link
KR (1) KR920010514B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5835138A (en) * 1995-08-30 1998-11-10 Sony Corporation Image signal processing apparatus and recording/reproducing apparatus
KR100694078B1 (en) * 2004-12-29 2007-03-12 삼성전자주식회사 Memory device and method for transmitting data thereof

Also Published As

Publication number Publication date
KR910016202A (en) 1991-09-30

Similar Documents

Publication Publication Date Title
US5590291A (en) Digital signal processing system for limiting a result to be predetermined bit count
KR100412622B1 (en) Picture decoding apparatus and picture decoding method
US5453799A (en) Unified motion estimation architecture
CN1934866B (en) A video decoding device
JPH0837662A (en) Picture encoding/decoding device
EP0630157A2 (en) Systems and methods for coding alternate fields of interlaced video sequences
JPH0622304A (en) Scene change detector
KR19990036188A (en) Method and apparatus for decoding encoded digital video signal
US7113644B2 (en) Image coding apparatus and image coding method
EP1475972A2 (en) Apparatus and method for moving picture decoding device with parallel processing
JP3283159B2 (en) Image coding method by software
KR100511810B1 (en) Image encoding and decoding method and device
KR920010514B1 (en) Digital signal processing apparatus
US5485214A (en) Dual bus dual bank architecture for motion compensation
JP3355964B2 (en) Adaptive orthogonal transform mode determination method
JPH0723389A (en) Picture processor
JP3235453B2 (en) Image coding device
JPH0221776A (en) Predicting static picture encoder/decoder
JP3141149B2 (en) Image coding device
US6236679B1 (en) Method and device for estimation of motions of image portions for moving image compression circuits
JPH10150665A (en) Method for generating predictive image, and method and device for image encoding
Barbosa et al. Real-time MPEG encoding in shared-memory multiprocessors
JP2777171B2 (en) Video motion compensation method
JPH10191347A (en) Motion detector, motion detecting method and storage medium
JP2953351B2 (en) Predictive coding device for television signals

Legal Events

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

Payment date: 19961115

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee