KR100892471B1 - Motion detection device - Google Patents
Motion detection device Download PDFInfo
- Publication number
- KR100892471B1 KR100892471B1 KR1020067022100A KR20067022100A KR100892471B1 KR 100892471 B1 KR100892471 B1 KR 100892471B1 KR 1020067022100 A KR1020067022100 A KR 1020067022100A KR 20067022100 A KR20067022100 A KR 20067022100A KR 100892471 B1 KR100892471 B1 KR 100892471B1
- Authority
- KR
- South Korea
- Prior art keywords
- storage means
- motion vector
- motion
- reference image
- motion detection
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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/43—Hardware specially adapted for motion estimation or compensation
Abstract
정수 화소 정밀도 움직임 검출용 참조 화상 데이터와 부호화 대상 매크로 블록 화상 데이터가 SDRAM(41)으로부터 로컬 메모리(31)로 전송된다. 정수 화소 정밀도 움직임 검출기(21)에 의해 정수 화소 정밀도 움직임 검출이 실시되고, 그 결과를 기초로, 1/4 화소 정밀도 움직임 검출용 참조 화상 데이터의 전송 영역이 결정된다. 1/2 화소 정밀도 움직임 검출용 참조 화상 데이터의 전송 후, 1/2 화소 정밀도 움직임 검출기(22)에 의한 1/2 화소 정밀도 움직임 검출과, 1/4 화소 정밀도 움직임 검출용 참조 화상 데이터의 전송이 동시에 실행된다. 1/4 화소 정밀도 움직임 검출기(23)에 의해 1/4 화소 정밀도 움직임 검출이 실행된다. 이 결과, 파이프라인 단수와 파이프라인 버퍼수가 감소될 수 있고, 파이프라인 처리를 고속화 할 수 있다.
The integer pixel precision motion detection reference image data and the encoding target macroblock image data are transferred from the SDRAM 41 to the local memory 31. Integer pixel precision motion detection is performed by the integer pixel precision motion detector 21, and based on the result, the transfer area of the reference image data for 1/4 pixel precision motion detection is determined. After the transfer of the reference image data for 1/2 pixel precision motion detection, the 1/2 pixel precision motion detection by the 1/2 pixel precision motion detector 22 and the transfer of the reference image data for 1/4 pixel precision motion detection are performed. Run concurrently. The 1/4 pixel precision motion detector 23 carries out 1/4 pixel precision motion detection. As a result, the number of pipeline stages and the number of pipeline buffers can be reduced, and the pipeline processing can be speeded up.
Description
본 발명은 동화상 부호화 기술에 관한 것으로, 특히, 피부호화 화상과 참조 화상으로부터 피부호화 화상의 움직임 벡터를 검출하는 움직임 검출 장치에 관한 것이다.BACKGROUND OF THE
오늘날, 동화상 전송 기술과 축적 기술은 우리들의 생활을 풍요롭게 하는데 있어서 매우 중요한 기술이 되어 있다.Today, moving picture transmission technology and accumulation technology are very important in enriching our lives.
예컨대, 휴대 정보 단말을 이용한 원격지에서의 화상 전화가 가능해지고 있다. 이 화상 전화에서는, 음성에 동기시켜서, 동화상을 서로 전송할 수 있기 때문에, 종래에 비해 더욱 풍부한 표현력을 갖는 커뮤니케이션을 실현할 수 있다. 화상 전화의 전송로는 무선이며, 현재의 전송 속도는 64kbps(bit per second)이다. 장래에는, 2Mbps 정도까지 고속화 될 가능성이 있다. 그러나, 비교적 낮은 전송 속도 하에서, 전송하는 화상의 화질을 향상시키기 위해서는, 동화상 전송 기술, 특히, 동화상 압축 부호화 기술이 중요하다.For example, video telephony in remote locations using portable information terminals has become possible. In this video telephone, moving pictures can be transmitted to each other in synchronization with voice, so that communication with more expressive power can be realized. The transmission path of the video telephone is wireless, and the current transmission speed is 64 kbps (bit per second). In the future, it may be speeded up to about 2Mbps. However, in order to improve the image quality of the image to be transmitted at a relatively low transmission rate, a moving picture transmission technique, particularly a moving picture compression coding technique, is important.
또 하나의 중요 기술인 동화상 축적 기술은 해마다 발전하고 있다. 최근에 는, DVD(Digital Versatile Disk) 레코더를 사용하여, 디지털 방식으로 텔레비전 프로그램을 녹화하는 것도 가능해지고 있다. DVD 레코더는 해마다 판매 대수가 늘어나, VHS 레코더가 모두 DVD 레코더로 교체되는 것도 시간 문제이다. VHS 레코더와 마찬가지로, DVD 레코더에 있어서도, 고화질로 장시간 녹화할 수 있는 것은 중요한 세일즈 포인트이다. DVD 레코더에 사용되는 기록 매체(DVD-RAM, DVD-RW, 블루레이 디스크 등)의 기록 밀도는 해마다 향상하고 있지만, 현 상태에서는, 하이비전 프로그램을 고화질로 장시간 녹화하는 것에는 이르지 못한다. 기록 매체의 한정된 영역에, 장시간의 영상을 화질을 유지하면서 녹화하기 위해서는, 화질을 저하시키지 않고 영상을 저 비트 레이트로 부호화하는 동화상 부호화 기술이 중요해진다.Another important technology, the moving picture storage technology is developing year by year. In recent years, it has become possible to record a television program digitally using a DVD (Digital Versatile Disk) recorder. The number of DVD recorders is increasing year by year, and it is also a matter of time before all VHS recorders are replaced with DVD recorders. Like VHS recorders, it is an important selling point for DVD recorders to be able to record in high quality for a long time. Although the recording density of recording media (DVD-RAM, DVD-RW, Blu-ray Disc, etc.) used in a DVD recorder is improving year by year, it is not possible to record a high-vision program for a long time in high quality in the present state. In order to record a long time video in a limited area of a recording medium while maintaining the picture quality, a moving picture coding technique of encoding a video at a low bit rate without degrading the picture quality becomes important.
동화상 부호화 기술로는, 여러 가지 방식이 제안되어 있다. 화상 압축 기술의 표준 규격으로서는, ITU-T(국제 전기 통신 연합 전기 통신 표준화 부문)의 H. 261, H. 263, ISO(국제 표준화 기구)의 MPEG-1, MPEG-2, MPEG-4 등이 있다. (MPEG는 Moving Picture Experts Group의 약어.)As a moving picture coding technique, various methods have been proposed. As standard standards of image compression technology, H. 261, H. 263 of ITU-T (International Telecommunication Union Telecommunication Standardization Division), MPEG-1, MPEG-2, MPEG-4 of ISO (International Organization for Standardization), etc. have. (MPEG stands for Moving Picture Experts Group.)
이들 동화상 부호화 처리에 있어서, 부호화의 대상이 되는 입력 화상은 세로 16화소×가로 16화소의 휘도 성분, 세로 8화소×가로 8화소의 색차 성분(Cb) 및 세로 8화소×가로 8화소의 색차 성분(Cr)으로 구성되는 매크로 블록으로 분할된다. 각 매크로 블록은 참조 화상으로부터 가장 유사한 블록이 탐색되고(이른바, 움직임 검출 처리가 행해지고), 탐색된 참조 화상의 블록과의 차분이 구해진다. 그리고, 그 차분은 주파수 영역으로 변환된 후, 가변 길이 부호화되어 비트 스트림으로 변 환된다.In these moving picture coding processes, the input image to be encoded includes a luminance component of 16 pixels long x 16 pixels wide, a color difference component Cb of 8 pixels wide x 8 pixels wide, and a color difference component of 8 pixels wide x 8 pixels. It is divided into macro blocks consisting of (Cr). For each macro block, the most similar block is searched from the reference picture (so-called motion detection processing is performed), and the difference with the block of the searched reference picture is obtained. Then, the difference is converted into a frequency domain and then variable length coded into a bit stream.
이들 부호화 처리 중에서, 화질을 크게 좌우하는 처리가 움직임 검출 처리이다. MPEG 부호화 처리 장치에 있어서, 중요한 구성 요소인 움직임 검출부에 대하여, 우선, 설명한다.Among these encoding processes, a process that greatly influences image quality is a motion detection process. In the MPEG encoding processing apparatus, a motion detection unit that is an important component will first be described.
움직임 검출에는, 여러 가지 수법이 존재하지만, 가장 대표적인 방법이 블록 매칭법이다. 블록 매칭법은 현 화상의 매크로 블록과, 참조 화상이 있는 특정한 범위(이후, 탐색 범위라 부름)로부터 생성되는, 매크로 블록과 같은 크기의 블록과의 사이에서, 화소 레벨의 연산을 행하여, 상관도를 나타내는 평가치를 구하고, 그 평가치가 가장 좋은 결과가 되는 참조 화상상의 위치를 움직임 벡터로서 검출하는 방법이다. 평가치로서, 일반적으로, 차분 절대값 합(SAD)이나 차분 자승 합(SSD)이 이용되고, 그 값이 작을수록 상관성이 높다고 간주된다.Various methods exist for motion detection, but the most typical method is block matching. The block matching method performs a pixel level operation between a macroblock of a current picture and a block of the same size as a macroblock, which is generated from a specific range in which a reference picture is located (hereinafter referred to as a search range). An evaluation value is obtained, and the position on the reference image for which the evaluation value is the best result is detected as a motion vector. As evaluation values, in general, the absolute difference value sum (SAD) or the differential square sum (SSD) is used, and the smaller the value, the higher the correlation is considered.
종래, 계층적으로 움직임 검출을 실시하는 예가 있다. 예컨대, 특허문헌 1(일본 공개 특허 공보 제 2002-218474호)은 움직임 벡터의 검출을 1/2 화소 정밀도로 실시하기 위해, 제 1 단계로서, 비교적 큰 탐색 범위에서 정수 화소 정밀도의 움직임 벡터 검출을 실시하고, 제 2 단계로서, 제 1 단계에서 검출한 움직임 벡터의 주위에서, 또한, 제 1 단계보다 작은 탐색 범위에서, 1/2 화소 정밀도의 움직임 벡터를 검출하는 기술을 개시하고 있다.Conventionally, there is an example of performing motion detection hierarchically. For example, Patent Document 1 (Japanese Laid-Open Patent Publication No. 2002-218474), as a first step, performs motion vector detection with integer pixel precision in a relatively large search range in order to perform motion vector detection with 1/2 pixel precision. As a second step, a technique for detecting a motion vector with 1/2 pixel precision is disclosed around the motion vector detected in the first step and in a search range smaller than the first step.
도 22와 도 23을 참조하여, 종래 기술에 의한 움직임 검출의 방법을 구체적으로 설명한다.With reference to Figs. 22 and 23, a method of motion detection according to the prior art will be described in detail.
도 22는 종래의 일반적인 움직임 검출부의 블록도이다. 도 22에 나타내는 종래의 일반적인 움직임 검출부는 정수 화소 정밀도 움직임 검출부(1), 1/2 화소 정밀도 움직임 검출부(2), 움직임 보상부(3), 제 1 로컬 메모리(4), 제 2 로컬 메모리(5), 제 3 로컬 메모리(6), DMA 컨트롤러(7) 및 SDRAM(8)을 구비한다.22 is a block diagram of a conventional general motion detector. The conventional general motion detector shown in Fig. 22 is an integer pixel
도 23은 종래의 일반적인 움직임 검출부의 흐름도이다.23 is a flowchart illustrating a conventional general motion detector.
도 23의 단계 S1에 있어서, SDRAM(8)에 저장되어 있는 입력 화상으로부터, 부호화 대상의 매크로 블록(이하, 현 매크로 블록이라고 부른다)을 제 1 로컬 메모리(4)로 전송한다.In step S1 of FIG. 23, the macroblock (hereinafter referred to as the current macroblock) to be encoded is transferred from the input image stored in the
단계 S2에 있어서, 현 매크로 블록으로부터 결정되는 움직임 검출 범위, 즉, 탐색 범위의 화상 데이터, 예컨대, -32≤X≤+32, -32≤Y≤+32의 탐색 범위의 화상 데이터가 참조 화상으로서, SDRAM(8)으로부터 제 1 로컬 메모리(4)로 전송된다.In step S2, the motion detection range determined from the current macroblock, that is, the image data of the search range, for example, the image data of the search range of -32≤X≤ + 32, -32≤Y≤ + 32, is referred to as the SDRAM. Is transferred from (8) to the first local memory (4).
단계 S3에 있어서, 정수 화소 정밀도 움직임 검출부(1)는 제 1 로컬 메모리(4)로 전송된 현 매크로 블록과 참조 화상의 탐색 범위에 대하여, 정수 화소 정밀도 움직임 검출을 행한다. 정수 화소 정밀도 움직임 검출에서는, 정수 화소 정밀도 움직임 검출부(1)는 정수 화소만을 이용하여, 현 매크로 블록과 가장 상관이 강한 같은 크기의 블록을 탐색 범위로부터 검출하고, 움직임 벡터를 구한다. 움직임 벡터는 현 매크로 블록의 좌단상의 좌표에 대한 것이고, 검출한 블록의 좌단상의 좌표의 상대 위치로 표현한다. 상관의 강도는, 예컨대, 2개의 블록 내의 대응하는 화소에 있어서의 휘도 성분의 차분 절대값 합(SAD)이나 차분 자승 합(SSD)으로서 평가된다.In step S3, the integer pixel precision
계층화하여 움직임 검출을 행하는 경우, 일반적으로 정수 화소 정밀도 움직임 검출은 그 이후의 계층의 움직임 검출보다 탐색 범위가 크다. 그 때문에, 필요로 하는 메모리 용량이 커진다.In case of performing motion detection by stratifying, in general, integer pixel precision motion detection has a larger search range than motion detection of subsequent layers. Therefore, the required memory capacity becomes large.
메모리 용량 증대를 방지하기 위해, 예컨대, 화소를 추출하여 메모리로 전송하고, 움직임 검출의 정밀도를 저하시키는 방법이 있다. 도 24는 1화소마다 추출된 정수 화소를 나타낸다. 즉, 도 24에 나타내는 예에서는, 가로 방향으로 1화소마다 화소 P2가 추출되어, 화소 P1만이 참조 화상으로서 이용된다. 이와 같이 추출하면, 추출하지 않는 경우와 비교하여 가로 방향의 검출 정밀도가 1/2로 저하된다. 그러나, 제 1 로컬 메모리(4)에 확보되어야 할 참조 화상용의 영역은 1/2로 감소시킬 수 있다. 이 방법에 의해, 같은 탐색 범위를 적은 메모리 용량으로 탐색할 수 있다. 또는, 같은 메모리 용량으로 광범위한 움직임 검출을 행할 수 있다. 어떠한 추출 방법을 채용할지는 검출 정밀도가 저하되는 것에 따른 화질 저하와, 탐색 범위가 넓어지는 것에 따른 화질 향상의 절충(trade-off) 관계에 의해 결정된다.In order to prevent an increase in memory capacity, for example, there is a method of extracting and transferring pixels to a memory and lowering the accuracy of motion detection. Fig. 24 shows integer pixels extracted for each pixel. That is, in the example shown in FIG. 24, the pixel P2 is extracted for every pixel in the horizontal direction, and only the pixel P1 is used as a reference image. When extracted in this manner, the detection accuracy in the horizontal direction is lowered to 1/2 compared with the case where it is not extracted. However, the area for the reference picture to be secured in the first
도 23으로 되돌아가, 단계 S4에 있어서, 단계 S3의 정수 화소 정밀도 움직임 검출로 구한 움직임 벡터 MV-INT를 기초로, 1/2 화소 정밀도 움직임 검출에 필요한 참조 화상이 SDRAM(8)으로부터 제 2 로컬 메모리(5)로 전송된다.Returning to Fig. 23, in step S4, based on the motion vector MV-INT determined by the integer pixel precision motion detection in step S3, the reference image required for 1/2 pixel precision motion detection is moved from the
상술한 바와 같이, 정수 화소 정밀도 움직임 검출의 참조 화상의 화소를 추출한 경우, 1/2 화소 정밀도 움직임 검출을 위한 참조 화상을 SDRAM(8)으로부터 다시 취득해야 한다. 왜냐하면, 후술하는 바와 같이, 규격상, 1/2 화소를 산출하 기 위해서는, 반드시 인접하는 정수 화소가 필요하기 때문이다. 정수 화소 정밀도 움직임 벡터 MV-INT의 주변 8점의 1/2 화소에 대하여, 1/2 화소 정밀도 움직임 검출을 행하는 경우, SDRAM(8)에 저장되어 있는 참조 화상으로부터, 움직임 벡터 MV-INT를 기준으로 해서, X방향으로 「-1」, Y방향으로 「-1」 이동한 좌표 위치로부터, 가로 방향으로 18화소, 세로 방향으로 18라인의 화상이 취득되어, 제 2 로컬 메모리(5)로 전송된다. SDRAM(8)에 대하여, 32비트 단위의 액세스 밖에 할 수 없는 경우는, 참조 화상으로서 필요가 없는 화소 데이터를 판독해 버리는 경우가 있고, 최대로 가로 24화소, 세로 18라인 분의 화상 데이터를 판독하는 경우도 있다.As described above, when pixels of the reference image for integer pixel precision motion detection are extracted, the reference image for 1/2 pixel precision motion detection must be acquired again from the
단계 S5에 있어서, 1/2 화소 정밀도 움직임 검출부(2)는 1/2 화소 정밀도 움직임 검출을 실시한다. 예컨대, 움직임 벡터 MV-INT의 주변 8점에 있어서, 단계 S4에 있어서 제 2 로컬 메모리(5)로 전송된 참조 화상을 이용하여, 1/2 화소를 생성하고, 그 8개의 1/2 화소 및 탐색 중심 위치의 정수 화소와, 현 매크로 블록으로 차분 절대값 합 연산을 행한다.In step S5, the 1/2 pixel precision
도 25는 정수 화소 B의 근방에 생성된 1/2 화소를 나타낸다. 즉, 탐색 중심 위치인 정수 화소 B의 주위에, 1/2 화소 a∼h가 생성되어 있다. 1/2 화소는, 예컨대, MPEG-4의 심플 프로파일의 경우, 정수 화소 A∼D를 이용하여 다음과 같이 산출된다.25 shows a 1/2 pixel generated in the vicinity of the integer pixel B. FIG. That is, 1/2 pixels a to h are generated around the integer pixel B which is the search center position. 1/2 pixel is computed as follows using integer pixels A-D, for example in the case of the simple profile of MPEG-4.
도 25의 1/2 화소 f와 1/2 화소 d는 각각 수학식 1 및 수학식 2로 산출된다.1/2 pixel f and 1/2 pixel d of FIG. 25 are computed by Formula (1) and Formula (2), respectively.
여기서, R은 라운딩 컨트롤(rounding control)이라 불리고, 「0」 또는「1」이 대입된다.Here, R is called a rounding control, and "0" or "1" is substituted.
1/2 화소 정밀도 움직임 검출부(2)는 탐색 중심 위치의 정수 화소 B와 그 주위의 8개의 1/2 화소 a∼h의 총 9점의 화소에 대하여, 차분 절대값 합의 값이 가장 작아지는 점을 구한다. 구한 차분 절대값 합의 값이 가장 작아지는 점에 대한 탐색 중심 위치로부터의 오프셋 좌표를 움직임 벡터 MV-INT에 가산함으로써, 1/2 화소 정밀도의 움직임 벡터 MV-HALF가 산출된다.The 1/2 pixel
또한 검출 정밀도를 향상시키기 위해, 1/2 화소 정밀도 움직임 검출로 구한 움직임 벡터 MV-HALF를 기초로, 1/4 화소 정밀도 움직임 검출을 실시하는 경우도 있다. 예컨대, 1/2 화소 정밀도 움직임 검출과 마찬가지로, 움직임 벡터 MV-HALF의 주변 8점에 있어서, 참조 화상을 이용하여 1/4 화소를 생성하고, 탐색 중심 위치의 1/2 화소와 그 주위에 생성한 8개의 1/4 화소의 총 9점의 화소에 대하여, 차분 절대값 합의 값이 가장 작아지는 점을 탐색한다. 탐색한 점에 대한 탐색 중심 위치로부터의 오프셋 좌표를 움직임 벡터 MV-HALF에 가산함으로써, 1/4 화소 정밀도의 움직임 벡터를 산출한다. 또, 도 22 및 도 23에 있어서는, 1/4 화소 정밀도 움직임 검출을 위한 구성 요소와 처리 단계를 생략하고 도시하지 않았다.In addition, in order to improve detection accuracy, 1 / 4-pixel precision motion detection may be performed based on the motion vectors MV-HALF determined by 1 / 2-pixel precision motion detection. For example, as in the case of 1/2 pixel precision motion detection, at the peripheral eight points of the motion vector MV-HALF, a 1/4 pixel is generated using a reference image, and is generated at 1/2 pixels of the search center position and the surroundings thereof. For a total of nine pixels of one eight 1/4 pixels, the point at which the value of the sum of difference absolute values is the smallest is searched for. By adding the offset coordinates from the search center position with respect to the searched point to the motion vector MV-HALF, a motion vector with 1/4 pixel precision is calculated. In addition, in FIG.22 and FIG.23, the component and the process step for 1/4 pixel precision motion detection are abbreviate | omitted and not shown.
단계 S6에 있어서, 움직임 검출에 계속되는 움직임 보상을 위해, 단계 S5의 1/2 화소 정밀도 움직임 검출에 있어서 최종적으로 결정한 움직임 벡터가 나타내는 위치의 참조 화상이 SDRAM(8)으로부터 제 3 로컬 메모리(6)로 전송된다.In step S6, for motion compensation following the motion detection, the reference image at the position indicated by the motion vector finally determined in the 1/2 pixel precision motion detection in step S5 is transferred from the
일반적으로, 움직임 벡터 검출은 화소 데이터의 휘도 성분에 대하여 실시된다. 그 때문에, 휘도 성분에 관해서는, 많은 경우, 1/2 화소 정밀도 움직임 검출로 제 2 로컬 메모리(5)에 취득한 참조 영역은 움직임 보상에 필요한 영역을 포함하고 있다. 데이터 전송량을 감소시키기 위해, 제 2 로컬 메모리(5)의 데이터를 제 3 로컬 메모리(6)로 전송하는 경우와, 제 2 로컬 메모리(5)를 움직임 보상부(3)가 직접 액세스하는 경우가 있다. 단, 색차 성분에 관해서는, 제 2 로컬 메모리(5)로 전송되어 있지 않기 때문에, SDRAM(8)으로부터 제 3 로컬 메모리(6)로 전송해야 한다.In general, motion vector detection is performed on the luminance component of the pixel data. Therefore, as for the luminance component, in many cases, the reference area acquired in the second
단계 S7에 있어서, 움직임 보상부(3)는 움직임 보상을 실시한다. 움직임 보상으로 취득하는 색차 성분의 화상 데이터는 휘도 성분의 움직임 벡터에 근거하여 결정되는 색차 움직임 벡터에 의해서 결정된다. MPEG-4의 경우, 휘도 성분의 움직임 벡터의 1/2배한 것이 색차 성분의 움직임 벡터로서 정의된다. 예컨대, 휘도 성분의 움직임 벡터의 XY 좌표 (0.5, 1.5)는 1/2배 하면, (0.25, 0.75)가 되지만, 이것은 (0.5, 0.5)로 자리올림된다.In step S7, the
상술한 대로, 동화상 부호화 처리는 움직임 검출, 움직임 보상, DCT, 가변 길이 부호화 등의 복수의 처리로 구성된다. 이들의 처리를 하나의 하드웨어 자원(예컨대, 프로세서)을 이용하여, 매크로 블록 단위로 실행하는 경우, 하나의 매크 로 블록의 처리가 종료하기까지, 다음 매크로 블록 처리가 개시될 수 없다. 이러한 순차 처리에서는 화면 크기나 입력의 프레임 레이트가 큰 경우, 매크로 블록 처리가 맞지 않아, 프레임 손실(dropping frames)이 발생해 버리는 경우가 있다.As described above, the moving picture coding process is composed of a plurality of processes such as motion detection, motion compensation, DCT, variable length coding, and the like. When these processes are executed in macroblock units using one hardware resource (for example, a processor), the next macroblock process cannot be started until the process of one macroblock is finished. In such a sequential process, when the screen size or input frame rate is large, macroblock processing may not match, resulting in dropping frames.
이를 해결하기 위해, 처리 단위마다 하드웨어 자원을 마련하고, 매크로 블록 처리를 파이프라인 방식으로 실행하는 방법이 있다.In order to solve this problem, there is a method of providing hardware resources for each processing unit and executing macroblock processing in a pipelined manner.
도 26은 동화상 부호화 처리의 흐름도이다. 도 26에 나타내는 바와 같이, 일반적인 동화상 부호화 처리는 단계 S11의 움직임 검출, 단계 S12의 움직임 보상, 단계 S13의 DCT/양자화 처리 및 단계 S14의 가변 길이 부호화 처리로 이루어진다. 이들 처리를, 4단의 파이프라인으로 분할하면, 도 27과 같은 처리가 된다.26 is a flowchart of a video encoding process. As shown in Fig. 26, the general moving picture coding process includes motion detection in step S11, motion compensation in step S12, DCT / quantization processing in step S13, and variable length encoding processing in step S14. When these processes are divided into four stage pipelines, the processes as shown in FIG. 27 are obtained.
도 27은 동화상 부호화의 파이프라인 처리를 나타낸다. 이 도면에 있어서, 가로축은 시간을 나타내고, 각 처리의 괄호 안의 숫자는 처리하고 있는 매크로 블록 번호를 나타낸다. 도 27에 나타내는 바와 같이, 파이프라인 처리에서는, 매크로 블록 번호 「O」의 움직임 검출 처리가 종료되면, 매크로 블록 번호 「O」의 움직임 보상 처리가 개시되고, 그와 동시에, 매크로 블록 번호 「1」의 움직임 검출의 처리가 개시된다.27 shows pipeline processing of video encoding. In this figure, the horizontal axis represents time, and the numerals in parentheses of the respective processes indicate macroblock numbers being processed. As shown in Fig. 27, in the pipeline processing, when the motion detection processing of the macroblock number "O" ends, the motion compensation process of the macroblock number "O" starts, and at the same time, the macroblock number "1" Processing of motion detection is started.
도 27에 나타내는 4개의 처리 중, 가장 처리 시간이 긴 처리의 처리 시간을 시간 T라고 하면, 파이프라인 처리에서는, 시간 T의 간격으로 스트림화된 매크로 블록이 출력되게 된다. 4개의 처리의 합계 시간을 시간 U라고 하면, 1매크로 블록당 처리 시간은, 순차 처리에서는 시간 U, 파이프라인 처리에서는 시간 T가 되고, U>T는 자명하기 때문에, 파이프라인 처리에 의해, 매크로 블록 처리의 생산 성(throughput)이 향상된다.When the processing time of the processing with the longest processing time among the four processes shown in FIG. 27 is time T, in a pipeline processing, the macroblock streamed by the time T interval will be output. If the total time of four processes is time U, the processing time per macro block becomes time U in sequential processing, time T in pipeline processing, and U> T is self-explanatory. The throughput of block processing is improved.
그러나, 이러한 파이프라인 처리를 실행하기 위해서는, 각 처리의 사이에 파이프라인 버퍼가 필요하게 된다. 파이프라인 버퍼란, 파이프라인의 사이에서 데이터를 유지해 놓기 위한 중간 버퍼이다. 따라서, 파이프라인화는 성능과 비용의 절충을 고려하여 실시해야 한다.However, in order to execute such pipeline processes, a pipeline buffer is required between each process. Pipeline buffers are intermediate buffers for holding data between pipelines. Therefore, pipelined work should be carried out with trade-offs in performance and cost.
도 28은 움직임 검출의 흐름도이다. 도 28은 복수로 계층화된 움직임 검출에 있어서의, 임의 계층의 움직임 검출의 처리 흐름을 나타내고 있다.28 is a flowchart of motion detection. Fig. 28 shows a process flow of motion detection of any layer in motion detection in a plurality of layers.
단계 S21에 있어서, 제 (m-1) 계층(m은 2 이상의 자연수)의 움직임 검출이 행해진다. 단계 S21에 있어서 행해지는 제 (m-1) 계층의 움직임 검출이 도 24에 나타낸 것 같은 추출된 참조 화상에 대하여 실시되는 경우, 단계 S22에 있어서, 제 (m―1) 계층에서 검출된 움직임 벡터를 기초로, 다음 제 (m) 계층의 움직임 검출을 위한 참조 화상 데이터를 전송해야 한다. 단계 S23에 있어서, 전송된 참조 화상 데이터를 이용하여, 제 (m) 계층의 움직임 검출이 행해진다.In step S21, motion detection of the (m-1) layer (m is a natural number of two or more) is performed. When motion detection of the (m-1) th layer performed in step S21 is performed on the extracted reference image as shown in FIG. 24, the motion vector detected in the (m-1) th layer in step S22. On the basis of this, reference picture data for motion detection of the next (m) layer should be transmitted. In step S23, motion detection of the (m) layer is performed using the transferred reference image data.
도 29는 움직임 검출의 파이프라인의 구성을 나타내며, 도 28의 움직임 검출에 대응하는 것이다. 움직임 검출에 있어서, 넓은 범위를 탐색하는 경우, 그 탐색 범위의 데이터를 취득하기 위한 데이터 전송에 시간이 필요하다. 그 때문에, 도 29에 나타내는 파이프라인의 구성예에서는, 스테이지(k+1)에, 데이터 전송을 위한 파이프라인 스테이지를 마련하여, 생산성을 향상시키고 있다.FIG. 29 shows the configuration of the pipeline for motion detection and corresponds to the motion detection in FIG. In motion detection, when searching a wide range, time is required for data transmission for acquiring data of the search range. Therefore, in the structural example of the pipeline shown in FIG. 29, the pipeline stage for data transmission is provided in stage k + 1, and productivity is improved.
이상 설명한 바와 같이, 종래 기술에 의한 수법은 파이프라인 처리에 의해 동화상 처리의 생산성이 향상하는 반면, 움직임 검출의 계층이 증가한 경우에는, 파이프라인 단수가 늘어나, 대기 시간이 증가함과 동시에, 필요한 파이프라인 버퍼의 수가 증가한다고 하는 결점이 있다.As described above, while the technique according to the prior art improves the productivity of moving image processing by pipeline processing, when the hierarchy of motion detection increases, the number of pipeline stages increases, the waiting time increases, and the required pipe The drawback is that the number of line buffers increases.
(특허문헌 1)(Patent Document 1)
일본 공개 특허 공보 제 2002-218474호(도 3)Japanese Laid-Open Patent Publication No. 2002-218474 (Fig. 3).
(특허문헌 2)(Patent Document 2)
일본 공개 특허 공보 제 2001-15872호Japanese Unexamined Patent Publication No. 2001-15872
(발명이 해결하고자 하는 과제)(Tasks to be solved by the invention)
그래서, 본 발명은 파이프라인 처리에 있어서의 시간 지연을 감소시켜 프레임 지연의 발생을 억제하고, 또한, 파이프라인 버퍼의 수를 감소시킬 수 있는, 동화상 부호화용 움직임 검출 장치를 제공하는 것을 목적으로 한다.Therefore, an object of the present invention is to provide a motion detection apparatus for moving picture encoding, which can reduce the time delay in pipeline processing, suppress the occurrence of frame delay, and reduce the number of pipeline buffers. .
(과제를 해결하기 위한 수단)(Means to solve the task)
제 1 발명에 따른 움직임 검출 장치는 참조 화상과 피부호화 화상의 상관에 의해, 계층적으로 움직임 벡터를 검출하는 움직임 검출 장치로서, 프로세서와, 제 1 단계의 움직임 벡터 검출용의 제 1 참조 화상을 저장하는 제 1 기억 수단과, 제 1 기억 수단에 저장된 제 1 참조 화상을 이용하여, 제 1 단계의 움직임 벡터를 검출하는 제 1 움직임 검출 수단과, 제 1 움직임 검출 수단으로 검출한 제 1 단계의 움직임 벡터를 이용하여 실시하는 제 2 단계의 움직임 벡터 검출을 위한 제 2 참조 화상을 저장하는 제 2 기억 수단과, 제 2 기억 수단에 저장된 제 2 참조 화상을 이용하여, 제 2 단계의 움직임 벡터를 검출하는 제 2 움직임 검출 수단과, 제 2 움직임 검출 수단으로 검출한 제 2 단계의 움직임 벡터를 이용하여 실시하는 제 3 단계의 움직임 벡터 검출을 위한 제 3 참조 화상을 저장하는 제 3 기억 수단과, 제 3 기억 수단에 저장된 제 3 참조 화상을 이용하여, 제 3 단계의 움직임 벡터를 검출하는 제 3 움직임 검출 수단과, 참조 화상과 피부호화 화상을 저장하는 주 기억 수단과, 주 기억 수단과 제 1 기억 수단간의 데이터 전송, 주 기억 수단과 제 2 기억 수단간의 데이터 전송 및 주 기억 수단과 제 3 기억 수단간의 데이터 전송을 제어하는 데이터 전송 제어 수단을 구비하고, 제 1 단계의 움직임 벡터의 참조가 필요한 경우, 프로세서는 제 2 단계의 움직임 벡터의 검출이 완료되기 전에, 제 1 단계에서 검출한 움직임 벡터에 근거하여, 주 기억 수단으로부터 제 3 기억 수단으로 제 3 참조 화상의 데이터를 전송하고, 제 1 단계의 움직임 벡터의 참조가 불필요한 경우, 프로세서는 제 1 단계의 움직임 벡터의 검출이 완료되기 전에, 주 기억 수단으로부터 제 3 기억 수단으로 제 3 참조 화상의 데이터를 전송한다.The motion detection device according to the first invention is a motion detection device that detects a motion vector hierarchically by a correlation between a reference picture and a skin coded picture, and includes a processor and a first reference picture for motion vector detection in a first step. The first motion detection means for detecting the motion vector of the first step by using the first storage means for storing, the first reference image stored in the first storage means, and the first step of detection by the first motion detection means. By using the second storage means for storing the second reference image for detecting the motion vector of the second step performed by using the motion vector and the second reference image stored in the second storage means, the motion vector of the second step is obtained. A third step for detecting the motion vector of the third step which is performed by using the second motion detecting means for detecting and the motion vector of the second step detected by the second motion detecting means. A third storage means for storing a set of images, a third motion detection means for detecting a motion vector in a third step by using a third reference image stored in the third storage means, a reference image and a skin coded image for storing And main data transfer means for controlling data transfer between the main memory means and the first memory means, data transfer between the main memory means and the second memory means, and data transfer between the main memory means and the third memory means. If reference to the motion vector of the first stage is required, the processor is further configured to transfer the data from the main storage means to the third storage means based on the motion vector detected in the first stage before the detection of the motion vector of the second stage is completed. 3 When data of the reference picture is transmitted and reference of the motion vector of the first step is unnecessary, the processor is further configured to detect the motion vector of the first step. Before, the data of the third reference image is transferred from the main storage means to the third storage means.
이 구성에 의하면, 제 1 단계에서 검출한 움직임 벡터를 참조하는 경우, 제 3 단계의 움직임 벡터 검출용의 참조 화상의 전송과, 제 2 단계의 움직임 벡터 검출의 실행을 동시에 실시하기 때문에, 제 3 단계의 움직임 벡터 검출이 지연 없이 개시될 수 있다. 또한, 제 1 단계에서 검출한 움직임 벡터를 참조하지 않는 경우, 제 3 단계의 움직임 벡터의 검출을 지연 없이 개시할 수 있다.According to this configuration, when referring to the motion vector detected in the first step, the transmission of the reference image for motion vector detection in the third step and the execution of motion vector detection in the second step are performed simultaneously. Motion vector detection of steps can be initiated without delay. In addition, when the motion vector detected in the first step is not referenced, detection of the motion vector in the third step can be started without delay.
제 2 발명에 따른 움직임 검출 장치는 참조 화상과 피부호화 화상의 상관에 의해, 계층적으로 움직임 벡터를 검출하는 움직임 검출 장치로서, 프로세서와, 제 1 단계의 움직임 벡터 검출용의 제 1 참조 화상을 저장하는 제 1 기억 수단과, 제 1 기억 수단에 저장된 제 1 참조 화상을 이용하여, 제 1 단계의 움직임 벡터를 검출하는 제 1 움직임 검출 수단과, 제 1 움직임 검출 수단으로 검출한 제 1 단계의 움직임 벡터를 이용하여 실시하는 제 2 단계의 움직임 벡터 검출을 위한 제 2 참조 화상을 저장하는 제 2 기억 수단과, 제 2 기억 수단에 저장된 제 2 참조 화상을 이용하여, 제 2 단계의 움직임 벡터를 검출하는 제 2 움직임 검출 수단과, 제 2 움직임 검출 수단으로 검출한 제 2 단계의 움직임 벡터를 이용하여 실시하는 움직임 보상을 위한 제 3 참조 화상을 저장하는 제 3 기억 수단과, 제 3 기억 수단에 저장된 제 3 참조 화상을 이용하여, 움직임 보상을 실시하는 움직임 보상 수단과, 참조 화상과 피부호화 화상을 저장하는 주 기억 수단과, 주 기억 수단과 제 1 기억 수단간의 데이터 전송, 주 기억 수단과 제 2 기억 수단간의 데이터 전송 및 주 기억 수단과 제 3 기억 수단간의 데이터 전송을 제어하는 데이터 전송 제어 수단을 구비하고, 제 1 단계의 움직임 벡터의 참조가 필요한 경우, 프로세서는 제 2 단계의 움직임 벡터의 검출이 완료되기 전에, 제 1 단계에서 검출한 움직임 벡터에 근거하여, 주 기억 수단으로부터 제 3 기억 수단으로 제 3 참조 화상의 데이터를 전송하고, 제 1 단계에서 검출한 움직임 벡터를 비참조하는 경우, 프로세서는 제 1 단계의 움직임 벡터의 검출이 완료되기 전에, 주 기억 수단으로부터 제 3 기억 수단으로 제 3 참조 화상의 데이터를 전송한다.The motion detection device according to the second invention is a motion detection device that detects a motion vector hierarchically by a correlation between a reference picture and a skin coded picture, and includes a processor and a first reference picture for motion vector detection in a first step. The first motion detection means for detecting the motion vector of the first step by using the first storage means for storing, the first reference image stored in the first storage means, and the first step of detection by the first motion detection means. By using the second storage means for storing the second reference image for detecting the motion vector of the second step performed by using the motion vector and the second reference image stored in the second storage means, the motion vector of the second step is obtained. A second reference image for motion compensation performed using the second motion detecting means for detecting and the motion vector of the second step detected by the second motion detecting means Is a third memory means, a motion compensation means for performing motion compensation using a third reference image stored in the third memory means, main memory means for storing the reference image and the skin coded image, A data transfer control means for controlling data transfer between the first storage means, data transfer between the main memory means and the second memory means, and data transfer between the main memory means and the third memory means, wherein a reference to the motion vector of the first stage is provided. If necessary, the processor transmits the data of the third reference picture from the main storage means to the third storage means based on the motion vector detected in the first step before the detection of the motion vector of the second step is completed. In the case of dereferencing the motion vector detected in the first step, the processor starts from the main storage means before the detection of the motion vector of the first step is completed. A third storage means see 3 transmits the data of the image.
이 구성에 의하면, 제 1 단계에서 검출한 움직임 벡터를 참조하는 경우, 움직임 보상용의 참조 화상의 전송과, 제 2 단계의 움직임 벡터 검출의 실행을 동시에 실시하기 때문에, 움직임 보상이 지연 없이 개시될 수 있다. 또한, 제 1 단계에서 검출한 움직임 벡터를 참조하지 않는 경우, 제 3 단계의 움직임 보상을 지연 없이 개시할 수 있다.According to this configuration, when referring to the motion vector detected in the first step, since the transmission of the reference image for motion compensation and the execution of the motion vector detection in the second step are performed simultaneously, the motion compensation can be started without delay. Can be. In addition, when the motion vector detected in the first step is not referenced, the motion compensation of the third step can be started without delay.
제 3 발명에 따른 움직임 검출 장치는 참조 화상과 피부호화 화상의 상관에 의해, 계층적으로 움직임 벡터를 검출하는 움직임 검출 장치로서, 프로세서와, 제 1 단계의 움직임 벡터 검출용의 제 1 참조 화상을 저장하는 제 1 기억 수단과, 제 1 기억 수단에 저장된 제 1 참조 화상을 이용하여, 제 1 단계의 움직임 벡터를 검출하는 제 1 움직임 검출 수단과, 제 1 움직임 검출 수단으로 검출한 제 1 단계의 움직임 벡터를 이용하여 실시하는 제 2 단계의 움직임 벡터 검출을 위한 제 2 참조 화상을 저장하는 제 2 기억 수단과, 제 2 기억 수단에 저장된 제 2 참조 화상을 이용하여, 제 2 단계의 움직임 벡터를 검출하는 제 2 움직임 검출 수단과, 참조 화상과 피부호화 화상을 저장하는 주 기억 수단과, 주 기억 수단과 제 1 기억 수단간의 데이터 전송 및 주 기억 수단과 제 2 기억 수단간의 데이터 전송을 제어하는 데이터 전송 제어 수단을 구비하고, 프로세서는, 제 1 단계의 움직임 벡터 검출이 완료되기 전에, 주 기억 수단으로부터 제 2 기억 수단으로 제 2 참조 화상의 데이터를 전송한다.A motion detection device according to a third aspect of the invention is a motion detection device that detects a motion vector hierarchically by a correlation between a reference picture and a skin coded picture, and includes a processor and a first reference picture for motion vector detection in a first step. The first motion detection means for detecting the motion vector of the first step by using the first storage means for storing, the first reference image stored in the first storage means, and the first step of detection by the first motion detection means. By using the second storage means for storing the second reference image for detecting the motion vector of the second step performed by using the motion vector and the second reference image stored in the second storage means, the motion vector of the second step is obtained. Second motion detecting means for detecting, main memory means for storing the reference image and skin coded image, data transfer and main memory means between the main memory means and the first memory means; And a data transfer control means for controlling data transfer between the two storage means, and the processor transfers data of the second reference image from the main storage means to the second storage means before the motion vector detection of the first step is completed. .
이 구성에 의하면, 제 2 단계의 움직임 벡터 검출용의 참조 화상의 전송과, 제 1 단계의 움직임 벡터 검출의 실행을 동시에 실시하기 때문에, 제 2 단계의 움직임 벡터 검출이 지연 없이 개시될 수 있다.According to this configuration, since the transmission of the reference image for motion vector detection in the second step and the execution of the motion vector detection in the first step are performed simultaneously, motion vector detection in the second step can be started without delay.
제 4 발명에 따른 움직임 검출 장치는 참조 화상과 피부호화 화상의 상관에 의해, 움직임 벡터를 검출하는 움직임 검출 장치로서, 프로세서와, 제 1 단계의 움직임 벡터 검출용의 제 1 참조 화상을 저장하는 제 1 기억 수단과, 제 1 기억 수단에 저장된 제 1 참조 화상을 이용하여, 제 1 단계의 움직임 벡터를 검출하는 제 1 움직임 검출 수단과, 제 1 움직임 검출 수단으로 검출한 제 1 단계의 움직임 벡터를 이용하여 실시하는 움직임 보상을 위한 제 2 참조 화상을 저장하는 제 2 기억 수단과, 제 2 기억 수단에 저장된 제 2 참조 화상을 이용하여, 움직임 보상을 실시하는 움직임 보상 수단과, 참조 화상과 피부호화 화상을 저장하는 주 기억 수단과, 주 기억 수단과 제 1 기억 수단간의 데이터 전송 및 주 기억 수단과 제 2 기억 수단간의 데이터 전송을 제어하는 데이터 전송 제어 수단을 구비하고, 프로세서는 제 1 단계의 움직임 벡터의 검출이 완료되기 전에, 주 기억 수단으로부터 제 2 기억 수단으로 제 2 참조 화상의 데이터를 전송한다.A motion detection device according to a fourth invention is a motion detection device for detecting a motion vector by correlation between a reference picture and a skin coded picture, the motion detection device comprising: a processor and a first reference picture for storing a first step for motion vector detection in a first step; The first motion detecting means for detecting the motion vector of the first step using the first memory means, the first reference image stored in the first memory means, and the motion vector of the first step detected by the first motion detecting means. Second storage means for storing a second reference image for motion compensation to be carried out by using, motion compensation means for performing motion compensation using a second reference image stored in the second storage means, a reference image and skin encoding To control main memory means for storing an image, data transfer between the main memory means and the first memory means, and data transfer between the main memory means and the second memory means; Data transfer control means, the processor transfers data of the second reference image from the main storage means to the second storage means before the detection of the motion vector of the first step is completed.
이 구성에 의하면, 움직임 보상용의 참조 화상의 전송과, 제 1 단계의 움직임 벡터 검출의 실행을 동시에 실시하기 때문에, 움직임 보상용이 지연 없이 개시될 수 있다.According to this configuration, since the transmission of the reference image for motion compensation and the execution of the motion vector detection in the first stage are performed at the same time, motion compensation can be started without delay.
제 5 발명에 따른 움직임 검출 장치에서는, 제 1 움직임 검출 수단은 정수 화소 정밀도의 움직임 벡터를 검출한다.In the motion detection apparatus according to the fifth invention, the first motion detection means detects a motion vector of integer pixel precision.
제 6 발명에 따른 움직임 검출 장치에서는, 제 2 움직임 검출 수단은 1/2 화소 정밀도의 움직임 벡터를 검출한다.In the motion detection apparatus according to the sixth invention, the second motion detection means detects a motion vector with 1/2 pixel precision.
제 7 발명에 따른 움직임 검출 장치에서는, 제 3 움직임 검출 수단은 1/4 화소 정밀도의 움직임 벡터를 검출한다.In the motion detection apparatus according to the seventh invention, the third motion detection means detects a motion vector with 1/4 pixel precision.
이들 구성에 의하면, 정수 화소 정밀도의 움직임 벡터 검출로부터 1/4 화소 정밀도의 움직임 벡터 검출까지, 단계적으로 실행할 수 있다. 또한, 정수 화소 정밀도의 움직임 벡터 검출까지를 행하는 움직임 검출 장치, 1/2 화소 정밀도의 움직임 벡터 검출까지를 행하는 움직임 검출 장치, 또는, 1/4 화소 정밀도의 움직임 벡터 검출까지를 행하는 움직임 검출 장치를 응용 목적에 따라 임의로 구성할 수 있다.According to these structures, it is possible to carry out stepwise from motion vector detection with integer pixel precision to motion vector detection with 1/4 pixel precision. Further, a motion detection device for performing motion vector detection with integer pixel precision, a motion detection device for performing motion vector detection with 1/2 pixel precision, or a motion detection device for motion vector detection with 1/4 pixel precision up to It can be arbitrarily configured according to the application purpose.
제 8 발명에 따른 움직임 검출 장치에서는, 움직임 보상 수단은 휘도 화상의 움직임 보상을 실시한다.In the motion detection apparatus according to the eighth invention, the motion compensation means performs motion compensation of the luminance image.
이 구성에 의하면, 휘도 데이터에 대하여 움직임 보상을 행하는 움직임 검출 장치를 실현할 수 있다.According to this configuration, a motion detection device that performs motion compensation on luminance data can be realized.
제 9 발명에 따른 움직임 검출 장치에서는, 움직임 보상 수단은 색차 화상의 움직임 보상을 실시한다.In the motion detection apparatus according to the ninth invention, the motion compensation means performs motion compensation of the color difference image.
이 구성에 의하면, 색차 데이터에 대하여 움직임 보상을 행하는 움직임 검출 장치를 실현할 수 있다.According to this configuration, a motion detection device that performs motion compensation on color difference data can be realized.
제 10 발명에 따른 움직임 검출 장치에서는, 제 1 기억 수단과 제 2 기억 수단은 메모리에 실장되고, 제 1 기억 수단의 메모리 크기는 제 2 기억 수단의 메모리 크기보다 크다.In the motion detection apparatus according to the tenth invention, the first storage means and the second storage means are mounted in a memory, and the memory size of the first storage means is larger than the memory size of the second storage means.
이 구성에 의하면, 제 1 기억 수단을 이용하는 제 1 움직임 검출 수단은 제 2 기억 수단을 이용하는 제 2 움직임 검출 수단보다, 더 넓은 범위에 걸쳐 움직임 벡터를 탐색할 수 있다.According to this configuration, the first motion detecting means using the first memory means can search the motion vector over a wider range than the second motion detecting means using the second memory means.
제 11 발명에 따른 움직임 검출 장치에서는, 제 2 기억 수단과 제 3 기억 수단은 메모리에 실장되고, 제 2 기억 수단의 메모리 크기는 제 3 기억 수단의 메모리 크기보다 크다.In the motion detection apparatus according to the eleventh invention, the second storage means and the third storage means are mounted in a memory, and the memory size of the second storage means is larger than the memory size of the third storage means.
이 구성에 의하면, 제 2 기억 수단을 이용하는 제 2 움직임 검출 수단은 제 3 기억 수단을 이용하는 제 3 움직임 검출 수단보다, 더 넓은 범위에 걸쳐 움직임 벡터를 탐색할 수 있다.According to this configuration, the second motion detecting means using the second memory means can search the motion vector over a wider range than the third motion detecting means using the third memory means.
제 12 발명에 따른 움직임 검출 장치에서는, 제 2 기억 수단에는 데이터 전송 제어 수단과 제 2 움직임 검출 수단 중 어느 한쪽이 액세스한다.In the motion detection apparatus according to the twelfth invention, either the data transfer control means or the second motion detection means accesses the second storage means.
제 13 발명에 따른 움직임 검출 장치에서는, 제 3 기억 수단에는 데이터 전송 제어 수단과 제 3 움직임 검출 수단 중 어느 한쪽이 액세스한다.In the motion detection apparatus according to the thirteenth invention, either the data transfer control means or the third motion detection means accesses the third storage means.
제 14 발명에 따른 움직임 검출 장치에서는, 제 3 기억 수단에는 데이터 전송 제어 수단과 움직임 보상 수단 중 어느 한쪽이 액세스한다.In the motion detection apparatus according to the fourteenth aspect, either the data transmission control means or the motion compensation means accesses the third storage means.
이들 구성에 의하면, 파이프라인 버퍼를 마련하지 않더라도, 데이터 전송과 움직임 검출을 실행할 수 있다.According to these configurations, data transfer and motion detection can be performed without providing a pipeline buffer.
제 15 발명에 따른 움직임 검출 장치에서는, 제 1 움직임 검출 수단으로 검출한 움직임 벡터를 기준으로 하여, 필요한 범위의 참조 화상의 데이터가 제 2 기억 수단으로부터 제 3 기억 수단으로 전송된다.In the motion detection apparatus according to the fifteenth invention, the data of the reference image in the required range is transmitted from the second storage means to the third storage means on the basis of the motion vector detected by the first motion detection means.
이 구성에 의하면, 주 기억 수단으로부터 제 3 기억 수단으로의 데이터 전송을 생략할 수 있다.According to this configuration, data transfer from the main storage means to the third storage means can be omitted.
제 16 발명에 따른 움직임 검출 장치에서는, 제 1 움직임 검출 수단으로 검출한 움직임 벡터를 기준으로 하여, 필요한 범위의 참조 화상의 데이터가 제 1 기억 수단으로부터 상기 제 2 기억 수단으로 전송된다.In the motion detection apparatus according to the sixteenth aspect of the invention, data of a reference image in a necessary range is transmitted from the first storage means to the second storage means on the basis of the motion vector detected by the first motion detection means.
이 구성에 의하면, 주 기억 수단으로부터 제 2 기억 수단으로의 데이터 전송을 생략할 수 있다.According to this configuration, data transfer from the main storage means to the second storage means can be omitted.
(발명의 효과)(Effects of the Invention)
본 발명에 의하면, 파이프라인 처리에 있어서의 시간 지연을 감소시켜 프레임 지연의 발생을 억제하고, 또한, 파이프라인 버퍼의 수를 감소시킬 수 있는 동화상 부호화용의 움직임 검출 장치를 제공할 수 있다.According to the present invention, it is possible to provide a motion detection apparatus for moving picture coding that can reduce the time delay in pipeline processing to suppress the occurrence of frame delay and also reduce the number of pipeline buffers.
도 1은 본 발명의 실시예 1에 있어서의 움직임 검출 장치의 블록도,1 is a block diagram of a motion detection apparatus according to the first embodiment of the present invention;
도 2는 본 발명의 실시예 1에 있어서의 움직임 검출 장치의 흐름도,2 is a flowchart of a motion detection apparatus according to the first embodiment of the present invention;
도 3은 본 발명의 실시예 1에 있어서의 참조 화상의 1/4로 추출된 정수 화소 배치도,3 is an integer pixel arrangement diagram extracted in one quarter of a reference image in
도 4는 본 발명의 실시예 1에 있어서의 참조 화상의 1/4로 추출된 1/2 화소 배치도,4 is a 1/2 pixel arrangement diagram extracted in one-fourth of a reference image in
도 5는 본 발명의 실시예 1에 있어서의 참조 화상의 1/4 화소 배치도,5 is a 1/4 pixel layout view of a reference image in
도 6은 본 발명의 실시예 1에 있어서의 참조 화상의 전송 범위를 나타내는 설명도,6 is an explanatory diagram showing a transmission range of a reference image in Example 1 of the present invention;
도 7은 본 발명의 실시예 1에 있어서의 움직임 검출 장치의 파이프라인의 구성도,7 is a configuration diagram of a pipeline of the motion detection apparatus according to the first embodiment of the present invention;
도 8은 본 발명의 실시예 2에 있어서의 움직임 검출 장치의 블록도,8 is a block diagram of a motion detection apparatus in accordance with a second embodiment of the present invention;
도 9는 본 발명의 실시예 2에 있어서의 움직임 검출 장치의 흐름도,Fig. 9 is a flowchart of a motion detection device in
도 10은 본 발명의 실시예 2에 있어서의 휘도 좌표와 색차 좌표의 대응표,10 is a correspondence table of luminance coordinates and color difference coordinates in Example 2 of the present invention;
도 11은 본 발명의 실시예 2에 있어서의 색차 데이터의 전송 범위의 설명도,11 is an explanatory diagram of a transmission range of color difference data according to a second embodiment of the present invention;
도 12는 종래 기술에 의한 움직임 검출 장치의 파이프라인 구성도,12 is a pipeline configuration diagram of a motion detection apparatus according to the prior art;
도 13은 본 발명의 실시예 2에 있어서의 움직임 검출 장치의 파이프라인의 구성도,13 is a configuration diagram of a pipeline of a motion detection apparatus according to a second embodiment of the present invention;
도 14는 본 발명의 실시예 3에 있어서의 움직임 검출 장치의 블록도,Fig. 14 is a block diagram of a motion detection device in accordance with the third embodiment of the present invention;
도 15는 본 발명의 실시예 3에 있어서의 움직임 검출 장치의 흐름도,15 is a flowchart of a motion detection apparatus in accordance with a third embodiment of the present invention;
도 16은 본 발명의 실시예 3에 있어서의 움직임 검출 장치의 파이프라인의 구성도,16 is a configuration diagram of a pipeline of the motion detection apparatus in the third embodiment of the present invention;
도 17은 본 발명의 실시예 4에 있어서의 움직임 검출 장치의 흐름도,Fig. 17 is a flowchart of the motion detection apparatus in the fourth embodiment of the present invention;
도 18은 본 발명의 실시예 4에 있어서의 움직임 검출 장치의 파이프라인의 구성도,18 is a configuration diagram of a pipeline of a motion detection apparatus in
도 19는 본 발명의 실시예 5에 있어서의 움직임 검출 장치의 블록도,19 is a block diagram of a motion detection device in
도 20은 본 발명의 실시예 5에 있어서의 움직임 검출 장치의 흐름도,20 is a flowchart of a motion detection device in Example 5 of the present invention;
도 21은 본 발명의 실시예 5에 있어서의 움직임 검출 장치의 파이프라인의 구성도,21 is a configuration diagram of a pipeline of a motion detection device in
도 22는 종래의 일반적인 움직임 검출부의 블록도,22 is a block diagram of a conventional general motion detector;
도 23은 종래의 일반적인 움직임 검출부의 흐름도,23 is a flowchart of a conventional general motion detector;
도 24는 1화소마다 추출된 정수 화소의 예시도,24 is an exemplary diagram of integer pixels extracted for each pixel;
도 25는 정수 화소 B의 근방에 생성된 1/2 화소의 예시도,25 is an exemplary diagram of 1/2 pixels generated in the vicinity of the integer pixel B;
도 26은 동화상 부호화 처리의 흐름도,26 is a flowchart of a video encoding process;
도 27은 동화상 부호화의 파이프라인 처리의 예시도,27 is an illustration of pipeline processing of video encoding;
도 28은 움직임 검출의 흐름도,28 is a flowchart of motion detection;
도 29는 움직임 검출의 파이프라인의 구성도이다.29 is a configuration diagram of a pipeline of motion detection.
도면의 주요 부분에 대한 부호의 설명Explanation of symbols for the main parts of the drawings
1 : 정수 화소 정밀도 움직임 검출부 1: integer pixel precision motion detector
2 : 1/2 화소 정밀도 움직임 검출부2: 1 / 2-pixel precision motion detector
3 : 움직임 보상부 4 : 제 1 로컬 메모리3: motion compensation unit 4: first local memory
5 : 제 2 로컬 메모리 6 : 제 3 로컬 메모리5: second local memory 6: third local memory
7 : DMA 컨트롤러 8 : SDRAM7: DMA controller 8: SDRAM
20 : 프로세서 21 : 정수 화소 정밀도 움직임 검출기20
22 : 1/2 화소 정밀도 움직임 검출기 22: 1 pixel precision motion detector
23 : 1/4 화소 정밀도 움직임 검출기23: 1 / 4-pixel precision motion detector
24 : 움직임 보상기 31, 32, 33 : 로컬 메모리24:
41 : SDRAM 42 : DMA 컨트롤러41: SDRAM 42: DMA Controller
다음에, 도면을 참조하면서 본 발명의 실시예를 설명한다.Next, an embodiment of the present invention will be described with reference to the drawings.
(실시예 1)(Example 1)
도 1은 본 발명의 실시예 1에 있어서의 움직임 검출 장치의 블록도이다. 본 실시예의 움직임 검출 장치는 도 1에 나타내는 바와 같이, 정수 화소 정밀도 움직임 검출기(21), 1/2 화소 정밀도 움직임 검출기(22), 1/4 화소 정밀도 움직임 검출기(23), 로컬 메모리(31, 32, 33), SDRAM(41), DMA 컨트롤러(42) 및 프로세서(20)를 구비한다.1 is a block diagram of a motion detection apparatus according to the first embodiment of the present invention. As shown in FIG. 1, the motion detection apparatus of this embodiment includes an integer pixel
정수 화소 정밀도 움직임 검출기(21)는 제 1 움직임 검출 수단에 상당하고, 1/2 화소 정밀도 움직임 검출기(22)는 제 2 움직임 검출 수단에 상당하며, 1/4 화소 정밀도 움직임 검출기(23)는 제 3 움직임 검출 수단에 상당한다.The integer pixel
로컬 메모리(31)는 제 1 기억 수단에 상당하고, 정수 화소 정밀도 움직임 검출기(21)가 사용하는 참조 화상 데이터와 부호화 대상 매크로 블록의 화상 데이터를 저장한다. 로컬 메모리(32)는 제 2 기억 수단에 상당하고, 1/2 화소 정밀도 움직임 검출기(22)가 사용하는 참조 화상 데이터와 부호화 대상 매크로 블록의 화상 데이터를 저장한다. 로컬 메모리(33)는 제 3 기억 수단에 상당하고, 1/4 화소 정밀도 움직임 검출기(23)가 사용하는 참조 화상 데이터와 부호화 대상 매크로 블 록의 화상 데이터를 저장한다. SDRAM(41)은 주 기억 장치에 상당하고, 현 프레임과 참조 프레임의 화상 데이터를 저장한다.The
DMA 컨트롤러(42)는 데이터 전송 제어 수단에 상당하고, SDRAM(41)과 로컬 메모리(31, 32, 33)간의 데이터 전송을 제어한다. 프로세서(20)는 움직임 검출 장치 전체의 처리를 제어한다. 또한, 도 1에 있어서, 실선은 데이터선을 나타내고, 점선은 제어선을 나타낸다.The
도 2는 본 발명의 실시예 1에 있어서의 움직임 검출 장치의 흐름도이다. 도 1을 참조하면서, 도 2에 따라, 본 실시예의 움직임 검출 장치의 동작을 설명한다.2 is a flowchart of a motion detection apparatus according to the first embodiment of the present invention. With reference to FIG. 1, the operation | movement of the motion detection apparatus of this embodiment is demonstrated according to FIG.
단계 S31에 있어서, 정수 화소 정밀도 움직임 검출에 사용하는 참조 화상 데이터와 부호화 대상 매크로 블록의 화상 데이터가 DMA 컨트롤러(42)의 제어 하에, SDRAM(41)으로부터 로컬 메모리(31)로 전송된다.In step S31, the reference image data used for integer pixel precision motion detection and the image data of the encoding target macroblock are transferred from the
단계 S32에 있어서, 정수 화소 정밀도 움직임 검출기(21)는 로컬 메모리(31)로 전송된 참조 화상 데이터와 부호화 대상 매크로 블록의 화상 데이터를 사용하여, 정수 화소 정밀도 움직임 검출을 실시한다. 정수 화소 움직임 검출은 블록 매칭법에 따라서 실시된다.In step S32, the integer pixel
이하의 설명에서는, 본 실시예의 정수 화소 정밀도 움직임 검출을 수평 방향으로 1/4로 추출된 참조 화상에 대하여 실시하는 예에 대하여 기술한다.In the following description, an example in which integer pixel precision motion detection of the present embodiment is performed on a reference image extracted in the horizontal direction in 1/4 is described.
도 3은 본 발명의 실시예 1에 있어서의 참조 화상의 1/4로 추출된 정수 화소 배치도이다. 이 도면에 있어서, 흰 원의 화소 Fp1은 추출되지 않은 정수 화소를 나타내고, 검은 원의 화소 Fp2는 추출된 정수 화소를 나타낸다. 이 예에서는, 참조 화상은 수평 방향으로 1/4로 추출되고 있다. 수평 방향으로 4 화소 단위로 유효 데이터가 존재하기 때문에, 수평 방향의 움직임 검출의 정밀도가 1/4이 된다.FIG. 3 is an integer pixel arrangement diagram extracted as one-fourth of the reference image in
정수 화소 정밀도 움직임 검출의 방법은 수없이 많이 제안되어 있고, 대표적인 것으로서, 전 탐색, 구배법, 다이아몬드 서치, One―at-a―Time 등이 있다. 본 발명에서는, 어떤 방법을 이용하여도 좋다. 또한, 정수 화소 정밀도 움직임 검출의 평가 함수로는, 종래 기술의 차분 절대값 합, 차분 자승 합 등이 이용될 수 있다.Numerous methods have been proposed for integer pixel precision motion detection, and typical examples thereof include full search, gradient method, diamond search, and One-at-a-Time. In the present invention, any method may be used. In addition, as the evaluation function of integer pixel precision motion detection, the sum of absolute difference values, the difference square sum, and the like of the prior art can be used.
도 2로 되돌아가, 단계 S33에 있어서, 1/2 화소 정밀도 움직임 검출에 사용되는 참조 화상 데이터와 부호화 대상 매크로 블록의 화상 데이터가 프로세서(20)의 명령에 의해, SDRAM(41)으로부터 로컬 메모리(32)로 전송된다.Returning to Fig. 2, in step S33, the reference image data used for 1/2 pixel precision motion detection and the image data of the encoding target macroblock are sent from the
단계 S34에 있어서, 1/2 화소 정밀도 움직임 검출기(22)는 정수 화소 정밀도 움직임 검출로 검출한 움직임 벡터의 주변에서, 1/2 화소 정밀도 움직임 검출을 실시한다. 본 실시예의 1/2 화소 정밀도 움직임 검출에서는, 정수 화소 정밀도 움직임 검출로 검출한 움직임 벡터의 주변 8개의 1/2 화소에 대하여, 1/2 화소 정밀도 움직임 검출이 실시된다.In step S34, the 1/2 pixel
이하의 설명에서는, 본 실시예의 1/2 화소 정밀도 움직임 검출을 수평 방향으로 1/4로 추출된 참조 화상에 대하여 실시하는 예에 대하여 설명한다.In the following description, an example of performing the 1/2 pixel precision motion detection of the present embodiment with respect to the reference image extracted in the horizontal direction in 1/4 is described.
도 4는 본 발명의 실시예 1에 있어서의 참조 화상의 1/4로 추출된 1/2 화소 배치도이다. 도 4에 있어서, 흰 원의 화소 Fp1은 추출되지 않은 정수 화소를 나타내고, 검은 원의 화소 Fp2는 추출된 정수 화소를 나타낸다. 또한, 작은 흰 원의 화소 Hp1은 추출되지 않은 정수 화소 Fp1로부터 산출된 1/2 화소를 나타낸다.Fig. 4 is a 1/2 pixel arrangement diagram extracted as one-fourth of the reference image in the first embodiment of the present invention. In FIG. 4, the pixel Fp1 of a white circle represents the integer pixel which was not extracted, and the pixel Fp2 of the black circle represents the extracted integer pixel. In addition, the small white circle pixel Hp1 represents 1/2 pixel computed from the integer pixel Fp1 which was not extracted.
1/2 화소는 상술한 바와 같이, 정수 화소값의 평균으로 산출한다. 도 4에 나타내는 바와 같이, 임의의 탐색 위치에 주목하면, 1/2 화소는 가로 방향으로 4화소 단위에서 유효하다. 또한, 같은 1/4로 추출된 처리에서도, 1/2 화소 정밀도 움직임 검출에는, 정수 화소 정밀도 움직임 검출시와 비교하여, 보다 많은 참조 화상 데이터가 필요하게 되는 것을 알 수 있다.1/2 pixel is computed as an average of integer pixel values as mentioned above. As shown in FIG. 4, attention is paid to arbitrary search positions, and 1/2 pixels are effective in units of four pixels in the horizontal direction. In addition, even in the processing extracted in the same quarter, it can be seen that the 1/2 pixel precision motion detection requires more reference image data as compared with the integer pixel precision motion detection.
도 2로 되돌아가, 단계 S35에 있어서, 1/4 화소 정밀도 움직임 검출에 사용되는 참조 화상 데이터와 부호화 대상 매크로 블록의 화상 데이터가 프로세서(20)로부터의 명령에 의해, SDRAM(41)으로부터 로컬 메모리(33)로 전송된다.Returning to Fig. 2, in step S35, the reference image data and the image data of the encoding target macroblock used for the 1 / 4-pixel precision motion detection are sent from the
단계 S36에 있어서, 1/4 화소 정밀도 움직임 검출기(23)는 1/2 화소 정밀도 움직임 검출로 검출한 움직임 벡터의 주변에서, 1/4 화소 정밀도 움직임 검출을 실시한다.In step S36, the 1/4 pixel
움직임 검출의 최후의 계층인 1/4 화소 정밀도 움직임 검출에서는, 움직임 검출의 정밀도를 향상시키기 위해서, 화소의 추출은 행해지지 않는다.1/4 pixel precision which is the last layer of motion detection In motion detection, in order to improve the precision of motion detection, pixel extraction is not performed.
도 5는 본 발명의 실시예 1에 있어서의 참조 화상의 1/4 화소 배치도이다. 도 5에 있어서, 흰 원의 화소 Fp1은 정수 화소를 나타내고, 작은 흰 원의 화소 Hp1은 1/2 화소를 나타내고, 작은 검은 원의 화소 Qp1은 1/4 화소를 나타낸다. 화소 Fp1, 화소 Hp1 및 화소 Qp1의 부호 부가는 대표적인 것으로서, 모든 화소에 부호를 부가하고 있는 것은 아니다.FIG. 5 is a 1/4 pixel layout view of the reference image in
1/4 화소의 산출은 1/2 화소가 정수 화소로부터 산출된 경우와 마찬가지로, 1/2 화소의 평균치로서 구해진다. 도 5에 나타낸 1/4 화소의 배치, 1/4 화소를 산출하기 위한 1/2 화소의 배치, 또, 1/2 화소를 산출하기 위한 정수 화소의 배치로부터 명백한 바와 같이, 1/4 화소 정밀도 움직임 검출에서는 정수 화소를 추출할 수 없다. 따라서, 추출이 있는 1/2 화소로부터의 1/2 화소 정밀도 움직임 검출이 종료되면, 1/4 화소 정밀도 움직임 검출용으로서, 추출이 없는 참조 화상 데이터를 전송해야 한다.Calculation of 1/4 pixels is calculated | required as an average value of 1/2 pixel similarly to the case where 1/2 pixel is computed from an integer pixel. As is apparent from the arrangement of the 1/4 pixels shown in Fig. 5, the arrangement of the 1/2 pixels for calculating the 1/4 pixels, and the arrangement of the integer pixels for calculating the 1/2 pixels, the 1/4 pixel precision In motion detection, integer pixels cannot be extracted. Therefore, when the detection of 1/2 pixel precision motion from the extracted 1/2 pixel is complete | finished, the reference image data without extraction must be transmitted for 1/4 pixel precision motion detection.
그런데, 전술한 바와 같이, 1/4 화소 정밀도 움직임 검출용의 참조 화상 데이터의 전송의 종료를 기다려, 1/4 화소 정밀도 움직임 검출을 실시하면, 1/4 화소 정밀도 움직임 검출의 개시가 지연되어, 대기 시간이 증가한다. 그래서, 도 2에 나타내는 단계 S35에서는, 정수 화소 정밀도 움직임 검출이 종료된 시점에서, 1/2 화소 정밀도 움직임 검출에 있어서의 탐색 범위를 포함하도록, 1/4 화소 정밀도 움직임 검출용의 데이터를 전송한다.By the way, as mentioned above, when waiting for the completion | finish of transfer of the reference image data for 1/4 pixel precision motion detection, and performing 1/4 pixel precision motion detection, the start of 1/4 pixel precision motion detection will be delayed, The waiting time is increased. Therefore, in step S35 shown in FIG. 2, when the integer pixel precision motion detection is completed, data for 1/4 pixel precision motion detection is transmitted so as to include a search range in 1/2 pixel precision motion detection. .
도 6은 본 발명의 실시예 1에 있어서의 참조 화상의 전송 범위를 나타내는 설명도이다. 도 6에 있어서, 각 화소의 부호는 도 5와 마찬가지이며, 설명을 생략한다.6 is an explanatory diagram showing a transmission range of a reference image in
도 6에 나타내는 예에서는, 부호화하는 매크로 블록은 3화소×3화소로 구성된다고 가정하고 있다(실제로는, 부호화하는 매크로 블록은 16화소×16화소로 구성됨). 실선의 테두리(51)가 정수 화소 정밀도 움직임 검출로 매칭을 취한 매크로 블록이며, 그 정수 화소 정밀도 움직임 벡터 MV-INT의 위치는 테두리(51)의 좌측 상단의 화소 Fp3의 좌표로 주어진다. 점선으로 나타내는 테두리(52)는 1/4 화소 정밀도 움직임 검출용으로 전송해야 할 참조 화상의 범위를 나타낸다. 즉, 테두리(52)는 1/2 화소 정밀도 움직임 검출에 있어서, 화소 Fp3으로 표시되는 움직임 벡터 MV-INT의 위치로부터, 그 주변의 8개의 1/2 화소 중 어느 것으로 1/2 화소 정밀도 움직임 벡터 MV-HALF의 검출 결과가 귀착되더라도, 다음 1/4 화소 정밀도 움직임 검출을 위한 1/4 화소를 생성하기 위해 필요한 정수 화소가 반드시 포함되도록 하는 화소의 범위를 나타내고 있다.In the example shown in FIG. 6, it is assumed that the macroblock to be encoded is composed of 3 pixels x 3 pixels (actually, the macroblock to be encoded is composed of 16 pixels x 16 pixels). The
이와 같이, 1/4 화소 정밀도 움직임 검출을 위한 참조 화상 데이터의 전송 범위를 테두리(52)로 나타내는 범위로 설정하면, 1/4 화소 정밀도 움직임 검출을 위한 참조 화상 데이터를, 정수 화소 정밀도 움직임 검출에 있어서 움직임 벡터 MV-INT가 확정된 단계에서, 도 1의 SDRAM(41)으로부터 로컬 메모리(33)로 전송할 수 있다. 이 결과, 1/2 화소 정밀도 움직임 검출의 결과를 기다리지 않고서, 1/4 화소 정밀도 움직임 검출용의 참조 화상 데이터를 전송할 수 있기 때문에, 1/4 화소 정밀도 움직임 검출의 데이터 대기 시간이 감소되어, 매크로 블록 처리의 대기 시간이 개선된다.In this way, when the transmission range of the reference image data for 1/4 pixel precision motion detection is set to the range indicated by the
도 7은 본 발명의 실시예 1에 있어서의 움직임 검출 장치의 파이프라인의 구성을 나타낸다. 도 7은 본 실시예의 움직임 검출 장치의 처리의 파이프라인이 움직임 검출 처리와 참조 화상 DMA 전송 처리로 나뉘어, 스테이지-0으로부터 스테이지-4에 걸쳐 구성되어 있는 것을 나타내고 있다. 상술한 바와 같이, 본 실시예의 움직임 검출 장치에서는, 스테이지-3에 있어서, 1/2 화소 정밀도 움직임 검출과 동시에, 1/4 화소 정밀도 움직임 검출용의 참조 화상 데이터의 전송이 실시될 수 있기 때문에, 파이프라인 단수를 한단 감소시킬 수 있다.7 shows the configuration of a pipeline of the motion detection apparatus according to the first embodiment of the present invention. Fig. 7 shows that the pipeline of the process of the motion detection apparatus of the present embodiment is divided into a motion detection process and a reference image DMA transfer process and is configured from stage-0 to stage-4. As described above, in the motion detection apparatus of the present embodiment, in the stage-3, the reference image data for 1/4 pixel precision motion detection can be transferred simultaneously with the detection of the 1/2 pixel precision motion, The number of pipeline stages can be reduced by one step.
이상 설명한 바와 같이, 본 실시예의 움직임 검출 장치에 의하면, 파이프라인 단수를 한단 감소시킬 수 있고, 그만큼 움직임 검출 처리를 고속으로 실시할 수 있기 때문에, 파이프라인 처리에 있어서의 시간 지연을 감소시켜 프레임 지연의 발생을 억제할 수 있다.As described above, according to the motion detection apparatus of the present embodiment, since the number of pipeline stages can be reduced by one step, and the motion detection processing can be performed at a high speed, the frame delay can be reduced by reducing the time delay in the pipeline processing. Can be suppressed.
(실시예 2)(Example 2)
도 8은 본 발명의 실시예 2에 있어서의 움직임 검출 장치의 블록도이다. 도 8에 있어서, 도 1과 마찬가지인 구성 요소에 대해서는, 동일한 부호를 부가하는 것에 의해, 설명을 생략한다.8 is a block diagram of a motion detection apparatus in accordance with the second embodiment of the present invention. In FIG. 8, description is abbreviate | omitted by adding the same code | symbol about the component similar to FIG.
본 실시예의 움직임 검출 장치는 도 8에 나타내는 바와 같이, 정수 화소 정밀도 움직임 검출기(21), 1/2 화소 정밀도 움직임 검출기(22), 움직임 보상기(24), 로컬 메모리(31, 32, 33), SDRAM(41), DMA 컨트롤러(42) 및 프로세서(20)를 구비한다.As shown in FIG. 8, the motion detection apparatus of this embodiment includes an integer pixel
로컬 메모리(31)는 제 1 기억 수단에 상당하고, 정수 화소 정밀도 움직임 검출기(21)가 사용하는 참조 화상 데이터와 부호화 대상 매크로 블록의 화상 데이터를 저장한다. 로컬 메모리(32)는 제 2 기억 수단에 상당하고, 1/2 화소 정밀도 움직임 검출기(22)가 사용하는 참조 화상 데이터와 부호화 대상 매크로 블록의 화상 데이터를 저장한다. 로컬 메모리(33)는 제 3 기억 수단에 상당하고, 움직임 보 상기(24)가 사용하는 참조 화상 데이터와 부호화 대상 매크로 블록의 화상 데이터를 저장한다. SDRAM(41)은 주 기억 장치에 상당하고, 현 프레임과 참조 프레임의 화상 데이터를 저장한다.The
DMA 컨트롤러(42)는 데이터 전송 제어 수단에 상당하고, SDRAM(41)과 로컬 메모리(31, 32, 33)간의 데이터 전송을 제어한다. 프로세서(20)는 움직임 검출 장치 전체의 처리를 제어한다. 또한, 도 8에 있어서, 실선은 데이터선을 나타내고, 점선은 제어선을 나타낸다.The
본 실시예의 움직임 검출 장치에서는, 움직임 검출은 정수 화소 정밀도와 1/2 화소 정밀도의 2계층에서 실시되고, 1/4 화소 정밀도 움직임 검출은 실시되지 않는다. 또한, 1/2 화소 정밀도 움직임 검출에서는, 참조 화상의 화소를 추출하지 않는 것으로 한다. 1/2 화소 정밀도 움직임 검출 후, 움직임 보상이 실시된다.In the motion detection device of the present embodiment, motion detection is performed in two layers of integer pixel precision and 1/2 pixel precision, and motion detection of 1/4 pixel precision is not performed. In addition, the pixel of a reference image shall not be extracted by 1/2 pixel precision motion detection. After 1/2 pixel precision motion detection, motion compensation is performed.
도 9는 본 발명의 실시예 2에 있어서의 움직임 검출 장치의 흐름도이다.Fig. 9 is a flowchart of a motion detection device in
도 8을 참조하면서, 도 9에 따라서, 본 실시예의 움직임 검출 장치의 동작을 설명한다.Referring to FIG. 8, the operation of the motion detection apparatus of this embodiment will be described with reference to FIG. 9.
단계 S41에 있어서의 정수 화소 정밀도 움직임 검출용의 참조 화상 데이터와 부호화 대상 매크로 블록 화상 데이터의 전송, 단계 S42에 있어서의 정수 화소 정밀도 움직임 검출, 단계 S43에 있어서의 1/2 화소 정밀도 움직임 검출용의 참조 화상 데이터와 부호화 대상 매크로 블록 화상 데이터의 전송 및 단계 S44에 있어서의 1/2 화소 정밀도 움직임 검출은 도 2에 나타낸 본 발명의 실시예 1에 있어서의 움직임 검출 장치의 흐름도의 단계 S31, 단계 S32, 단계 S33 및 단계 S34와 마찬가지이고, 설명을 생략한다.Transfer of reference image data for integer pixel precision motion detection and encoding target macroblock image data in step S41, integer pixel precision motion detection in step S42, and 1/2 pixel precision motion detection in step S43 The transfer of the reference image data and the encoding target macroblock image data and the 1/2 pixel precision motion detection in step S44 are performed by the steps S31 and S32 of the flowchart of the motion detection device according to the first embodiment of the present invention shown in FIG. Are the same as in step S33 and step S34, and description is omitted.
단계 S44에 있어서, 1/2 화소 정밀도 움직임 검출이 종료되면, 다음으로 움직임 보상을 실시한다. 움직임 보상은 휘도 성분의 참조 화상과 색차 성분의 참조 화상에 대하여 실시된다. 그러나, 이 단계에서는, 색차 성분의 참조 화상 데이터는 로컬 메모리(33)로 아직 전송되어 있지 않다. 또한, 색차 성분의 참조 화상 데이터 영역은 휘도 성분의 움직임 벡터가 확정된 후가 아니면 특정할 수 없기 때문에, 종래 기술에서는, 1/2 화소 정밀도 움직임 검출의 확정 후에, 색차 성분의 참조 화상 데이터를 전송해야 했다.In step S44, when the 1/2 pixel precision motion detection ends, motion compensation is performed next. Motion compensation is performed on the reference picture of the luminance component and the reference picture of the chrominance component. However, in this step, reference image data of the color difference component has not yet been transferred to the
그래서, 본 실시예의 움직임 검출 장치에서는, 단계 S45에 있어서, 정수 화소 움직임 벡터가 확정된 단계에서, 1/2 화소 정밀도 움직임 검출의 탐색 범위를 포함하도록, 색차 성분의 참조 화상 데이터의 전송을 개시한다. 즉, 실시예 1에 있어서의 도 2의 단계 S35의 1/4 화소 정밀도 움직임 검출용 참조 화상 전송과 마찬가지로, 1/2 화소 정밀도 움직임 검출의 어떠한 탐색 결과에도 대응할 수 있도록, 필요한 색차 성분의 참조 화상 데이터 영역을 정의하고, 그 영역의 색차 성분의 참조 화상 데이터를 정수 화소 정밀도 움직임 검출에 있어서의 움직임 벡터의 결정 직후에, 도 8에 나타내는 SDRAM(41)으로부터 로컬 메모리(33)로 전송한다.Thus, in the motion detection apparatus of the present embodiment, in step S45, at the step where the integer pixel motion vector is determined, the transmission of the reference image data of the color difference component is started so as to include the search range of 1/2 pixel precision motion detection. . That is, as in the reference image transmission for 1/4 pixel precision motion detection in step S35 of FIG. 2 in Example 1, the reference image of the required color difference component can cope with any search result of 1/2 pixel precision motion detection. The data area is defined, and the reference image data of the color difference component of the area is transferred from the
단계 S46에 있어서, 단계 S44에 있어서의 1/2 화소 정밀도 움직임 검출 결과에 따라, 로컬 메모리(33)에 저장되어 있는 휘도 성분의 참조 화상 데이터와 색차 성분의 참조 화상 데이터를 판독하고, 움직임 보상을 행한다.In step S46, in accordance with the 1/2 pixel precision motion detection result in step S44, the reference image data of the luminance component and the reference image data of the chrominance component stored in the
상술한 단계 S45에 있어서의 색차 성분의 참조 화상 데이터의 구체적인 전송 방법을 또한 설명한다.The specific transmission method of the reference image data of the color difference component in step S45 described above will also be described.
도 10은 본 발명의 실시예 2에 있어서의 휘도 좌표와 색차 좌표의 대응표이다. 이 대응표는 수평 방향과 수직 방향의 좌표에 동일하게 적용할 수 있다.10 is a correspondence table of luminance coordinates and color difference coordinates in Example 2 of the present invention. This correspondence table is equally applicable to the horizontal and vertical coordinates.
색차 성분의 참조 화상 데이터(이하, 색차 데이터라 부름)는 수평 방향과 수직 방향의 각각에 있어서, 휘도 성분의 참조 화상 데이터(이하, 휘도 데이터라 부름)의 절반의 양이기 때문에, 각각의 방향에서 휘도 데이터 2개에 대하여 색차 데이터 1개가 대응한다(화면 전체에서는, 휘도 데이터 4개에 대하여 색차 데이터 1개가 대응함). 즉, 도 10에 나타내는 바와 같이, 휘도의 좌표값 「O」은 색차의 좌표값 「O」에, 휘도의 좌표값 「0.5」, 「1」, 「1.5」는 색차의 좌표값 「0.5」에, 휘도의 좌표값 「2」는 색차의 좌표값 「1」에 각각 대응한다고 하는 상태이다. 이 좌표 변환 규칙에 의하면, 예컨대, 휘도 데이터의 XY 좌표 (1.5, 2.5)에 대응하는 색차 데이터의 XY 좌표는 (0.5, 1.5)이다.Since the reference image data of the chrominance component (hereinafter referred to as chrominance data) is the amount of half of the reference image data of the luminance component (hereinafter referred to as luminance data) in each of the horizontal direction and the vertical direction, One color difference data corresponds to two luminance data (one color difference data corresponds to four luminance data in the whole screen). That is, as shown in FIG. 10, the coordinate value "O" of the luminance corresponds to the coordinate value "O" of the color difference, and the coordinate values "0.5", "1", and "1.5" of the luminance correspond to the coordinate value "0.5" of the color difference. The coordinate value "2" of the luminance corresponds to the coordinate value "1" of the color difference, respectively. According to this coordinate conversion rule, for example, the XY coordinates of the color difference data corresponding to the XY coordinates (1.5, 2.5) of the luminance data are (0.5, 1.5).
움직임 보상에 있어서, 피부호화 매크로 블록의 16화소×16화소의 휘도 데이터에 대응하여 생성해야 하는 색차 데이터는 8화소×8화소이다. 도 11은 본 발명의 실시예 2에 있어서의 색차 데이터의 전송 범위의 설명도이다. 도 11은 설명을 간단히 하기 위해, 수평 방향에 있어서의 휘도 데이터의 좌표로부터 색차 데이터의 좌표로 좌표 변환하는 예를 나타내고 있다.In motion compensation, the color difference data to be generated corresponding to the luminance data of 16 pixels x 16 pixels of the skin-decoding macro block is 8 pixels x 8 pixels. 11 is an explanatory diagram of a transmission range of color difference data in Example 2 of the present invention. FIG. 11 shows an example of coordinate conversion from coordinates of luminance data in the horizontal direction to coordinates of color difference data for simplicity of explanation.
지금, 휘도 데이터에 있어서, 정수 화소 정밀도 움직임 검출의 결과, 정수 화소 정밀도 움직임 벡터 MV-INT의 위치는 검은 원의 정수 화소 Fp12로 구해졌다 고 가정한다. 다음의 계층의 1/2 화소 정밀도 움직임 검출에서는, 1/2 화소 정밀도 움직임 벡터가 검출될 가능성이 있는 좌표 위치는 정수 화소 Fp12의 좌우의 1/2 화소 Hp11과 1/2 화소 Hp12 및 정수 화소 Fp12 그 자신이다. 예컨대, 정수 화소 Fp12의 X 좌표가 「2」인 경우, 1/2 화소 정밀도 움직임 벡터가 검출될 가능성이 있는 화소 Hp11, Fp12, Hp12의 X 좌표는 각각, 「1.5」, 「2」, 「2.5」가 된다.Now, in the luminance data, it is assumed that as a result of integer pixel precision motion detection, the position of the integer pixel precision motion vector MV-INT is obtained by the integer pixel Fp12 of the black circle. In the 1 / 2-pixel precision motion detection of the next layer, the coordinate positions where the 1 / 2-pixel precision motion vector may be detected are 1/2 pixels Hp11 and 1/2 pixels Hp12 and integer pixels Fp12 to the left and right of the integer pixel Fp12. He is himself. For example, when the X coordinate of the integer pixel Fp12 is "2", the X coordinates of the pixels Hp11, Fp12, and Hp12 for which 1/2 pixel precision motion vector may be detected are "1.5", "2", and "2.5", respectively. It becomes.
이들 휘도 데이터의 좌표에 대응하는 색차 데이터의 좌표와 화소는 도 10의 좌표 변환 규칙으로부터, 좌표 「0.5」의 1/2 화소 Hp20, 좌표 「1」의 정수 화소 Fp21, 좌표 「1.5」의 1/2 화소 Hp21이 된다. 즉, 색차 데이터의 1라인-8화소분으로서 생성될 가능성이 있는 화소의 좌표는 다음 3개의 경우 중 하나이다.The coordinates and pixels of the color difference data corresponding to the coordinates of the luminance data are based on the coordinate conversion rule of FIG. 10, and the
좌표 「0.5」의 1/2 화소 Hp20으로부터 좌표 「7.5」의 1/2 화소 Hp27까지를 포함하는 경우, (1)의 색차 데이터를 생성하기 위해서는, 좌표 「0」의 정수 화소 Fp20으로부터 좌표 「8.0」의 정수 화소 Fp28까지를 SDRAM(41)으로부터 로컬 메모리(33)로 전송해야 한다.In the case of including from 1/2 pixel Hp20 of coordinate "0.5" to 1/2 pixel Hp27 of coordinate "7.5", in order to generate the color difference data of (1), coordinate "8.0" from integer pixel Fp20 of coordinate "0". Integer pixel Fp28 must be transferred from the
좌표 「1.5」의 정수 화소 Hp21로부터 좌표 「8.5」의 정수 화소 Hp28을 포함하는 경우, (3)의 색차 데이터를 생성하기 위해서는, 좌표 「1」의 정수 화소 Fp21로부터 좌표 「9.0」의 정수 화소 Fp29까지를 SDRAM(41)으로부터 로컬 메모 리(33)로 전송해야 한다.When the integer pixel Hp28 of the coordinate "8.5" is included from the integer pixel Hp21 of the coordinate "1.5", in order to generate the color difference data of (3), the integer pixel Fp29 of the coordinate "9.0" from the integer pixel Fp21 of the coordinate "1" Up to the
이상으로부터, 경우 (1), (2), (3)의 색차 데이터를 전부 생성할 수 있도록 하기 위해서는, 좌표 「0」의 정수 화소 Fp20으로부터 좌표 「9.0」의 정수 화소 Fp29까지를 SDRAM(41)으로부터 로컬 메모리(33)로 전송하면 된다. 이와 같이 계산하는 것으로, 1/2 화소 정밀도 움직임 검출이 종료되기 전에, 색차의 참조 화상 데이터를 전송하는 것이 가능하다.From the above, in order to be able to generate all the color difference data in the cases (1), (2), and (3), the SDRAM (41) is converted from the integer pixel Fp20 at the coordinate "0" to the integer pixel Fp29 at the coordinate "9.0". To the
이와 같이, 본 실시예의 움직임 검출 장치에 의하면, 1/2 화소 정밀도 움직임 검출의 결과를 기다리지 않고, 움직임 보상용의 참조 화상 데이터를 전송할 수 있기 때문에, 움직임 보상에 필요한 참조 화상 데이터를 취득하기 위한 대기 시간이 감소되고, 매크로 블록 처리의 대기 시간이 개선된다.As described above, according to the motion detection apparatus of the present embodiment, the reference image data for motion compensation can be transmitted without waiting for the result of the 1/2 pixel precision motion detection, and thus the standby for acquiring the reference image data necessary for motion compensation. The time is reduced, and the waiting time of macro block processing is improved.
여기서, 본 실시예의 움직임 검출 장치에 있어서의 필요한 파이프라인 단수와 파이프라인 버퍼수의 감소 효과를 보다 명확히 하기 위해서, 종래 기술과 비교해보자.Here, in order to clarify the effect of reducing the required number of pipeline stages and the number of pipeline buffers in the motion detection apparatus of the present embodiment, it will be compared with the prior art.
도 12는 종래 기술에 의한 움직임 검출 장치의 파이프라인 구성을 나타낸다. 동시에, 도 12에는, 각 단에서 필요한 파이프라인 버퍼를 나타내고 있다.12 shows a pipeline configuration of a motion detection apparatus according to the prior art. At the same time, Fig. 12 shows the pipeline buffers required at each stage.
도 12에 나타내는 바와 같이, 스테이지-0에 있어서, 현재 전송되고 있는 참조 화상의 휘도 데이터를 유지하기 위한 참조 화상 버퍼(휘도)가 필요하게 된다. 이것은 다른 매크로 블록 세대에 있어서, 데이터 전송과 처리가 스테이지-O과 스테이지-1에서 동시에 실시되고 있기 때문이다. 예컨대, 스테이지-1에서 (n)번째의 매크로 블록의 정수 화소 정밀도 움직임 검출을 실행하고 있을 때에, 스테이지 -O에서 (n+1)번째의 매크로 블록의 정수 화소 정밀도 움직임 검출용의 참조 화상 데이터를 병행하여 전송하고 있다. 이 때, (n)번째의 매크로 블록의 정수 화소 정밀도 움직임 검출에서 참조하고 있는 메모리 영역을 파괴하지 않기 위해, 스테이지-O에 있어서의 데이터 전송을 위해 별도의 버퍼를 마련해야 한다. 또한, 스테이지-1의 정수 화소 정밀도 움직임 검출에 사용되는 현 화상의 매크로 블록 데이터(휘도 데이터와 색차 데이터)를 스테이지-O에 있어서 동시에 전송하기 위해, 현 매크로 블록 버퍼(휘도·색차)가 필요하다.As shown in FIG. 12, in stage-0, a reference picture buffer (luminance) for holding the luminance data of the reference picture currently being transmitted is required. This is because data transfer and processing are simultaneously performed in stage-0 and stage-1 in different macroblock generations. For example, when performing integer pixel precision motion detection of the (n) -th macroblock in stage-1, reference image data for integer pixel precision motion detection of the (n + 1) -th macroblock in stage-O is performed. It is transmitting in parallel. At this time, in order not to destroy the memory area referenced by the integer pixel precision motion detection of the (n) -th macroblock, a separate buffer must be provided for data transfer in the stage-O. In addition, in order to simultaneously transfer the macroblock data (luminance data and chrominance data) of the current image used for the integer pixel precision motion detection of stage-1 in stage-O, a current macroblock buffer (luminance and color difference) is required. .
종래 기술에 의한 움직임 검출 장치에서는, 움직임 보상용 데이터의 전송이 스테이지-2의 1/2 화소 정밀도 움직임 검출이 완료된 후에 실행되기 때문에, 움직임 보상을 스테이지-2와는 다른 스테이지-3에서 행할 필요가 있다. 이것은 1/2 화소 정밀도 움직임 검출과 움직임 보상의 처리를 같은 단에서 행하는 것이 기능상 어렵기 때문이다. 이 결과, 스테이지-2에, 휘도 데이터 전송용의 참조 화상 버퍼(휘도)와, 색차 데이터 전송용의 참조 화상 버퍼(색차), 스테이지-3에, 휘도 데이터 움직임 보상용의 참조 화상 버퍼(휘도)와, 색차 데이터 움직임 보상용의 참조 화상 버퍼(색차)가 필요하게 된다.In the motion detection apparatus according to the prior art, since the transmission of the motion compensation data is executed after the 1/2 pixel precision motion detection of the stage-2 is completed, it is necessary to perform the motion compensation in the stage-3 different from the stage-2. . This is because it is functionally difficult to perform 1/2 pixel precision motion detection and motion compensation in the same stage. As a result, in the stage-2, the reference image buffer (luminance) for the luminance data transfer, the reference image buffer for the chrominance data transfer (color difference), and the reference image buffer (luminance) for the luminance data motion compensation in the stage-3 Then, a reference picture buffer (color difference) for color difference data motion compensation is required.
이와 같이, 종래 기술에 의한 움직임 검출 장치에서는, 4단의 파이프라인이 필요하고, 파이프라인 버퍼는 총 10개가 필요하다.As described above, in the motion detection apparatus according to the prior art, four pipelines are required, and a total of 10 pipeline buffers are required.
도 13은 본 발명의 실시예 2에 있어서의 움직임 검출 장치의 파이프라인의 구성을 나타낸다. 본 실시예의 파이프라인 구성에 의하면, 스테이지-O에 있어서 정수 화소 정밀도 움직임 검출용 데이터 전송을 행하고, 스테이지-1에 있어서 정 수 화소 정밀도 움직임 검출을 행하여, 그 결과를 받아 1/2 화소 정밀도 움직임 검출용 데이터 전송을 행한다. 스테이지―2에 있어서 1/2 화소 정밀도 움직임 검출과 움직임 보상용 데이터(색차 데이터) 전송을 병행하여 행하고, 그 후 움직임 보상을 실시한다.Fig. 13 shows the configuration of a pipeline of the motion detection apparatus in the second embodiment of the present invention. According to the pipeline configuration of this embodiment, data for integer pixel precision motion detection is transmitted in stage-O, integer pixel precision motion detection is performed in stage-1, and the result is received to receive 1/2 pixel precision motion detection. Data transfer is performed. In stage-2, 1/2 pixel precision motion detection and motion compensation data (color difference data) transmission are performed in parallel, and then motion compensation is performed.
이와 같이, 본 실시예의 움직임 검출 장치에 의하면, 스테이지―1의 정수 화소 정밀도 움직임 검출의 결과에 의해, 움직임 보상용 데이터(색차 데이터)의 전송 범위를 특정하고, 움직임 보상용 데이터(휘도 데이터와 색차 데이터)의 전송을 스테이지―2에 있어서 1/2 화소 정밀도 움직임 검출과 병행하여 실시할 수 있기 때문에, 필요한 파이프라인 단수는 3단이다. 이것은 도 12에 나타낸 종래 기술에 의한 움직임 검출 장치보다 1단 적다.Thus, according to the motion detection apparatus of this embodiment, the transmission range of motion compensation data (color difference data) is specified by the result of integer pixel precision motion detection of stage-1, and the motion compensation data (luminance data and color difference) are specified. Since the data) can be transferred in parallel with the 1/2 pixel precision motion detection in the stage-2, the required number of pipeline stages is three stages. This is one stage less than the motion detection apparatus by the prior art shown in FIG.
도 13에는, 파이프라인의 각 단에서 필요하게 되는 파이프라인 버퍼도 동시에 나타내고 있다. 본 실시예의 움직임 검출 장치에서는, 필요한 파이프라인 버퍼는 각 단의 휘도 데이터용의 참조 화상 버퍼(휘도)와, 휘도 데이터와 색차 데이터용의 현 매크로 블록 버퍼(휘도·색차) 및 스테이지-2의 색차 데이터용의 참조 화상 버퍼(색차)의 총 7개이다. 즉, 본 실시예의 움직임 검출 장치에서는, 스테이지―3이 불필요하게 된 효과로서, 파이프라인 버퍼수를 도 12에 나타낸 종래 기술에 의한 움직임 검출 장치의 10개에서 7개로 감소시킬 수 있다.13 also shows the pipeline buffers required at each stage of the pipeline. In the motion detection device of the present embodiment, the required pipeline buffer includes a reference image buffer (luminance) for luminance data of each stage, a current macroblock buffer (luminance and color difference) for luminance data and color difference data, and a color difference between stage-2. A total of seven reference picture buffers (color differences) for data. That is, in the motion detection device of the present embodiment, the number of pipeline buffers can be reduced from ten to seven of the motion detection devices according to the prior art shown in FIG.
(실시예 3)(Example 3)
도 14는 본 발명의 실시예 3에 있어서의 움직임 검출 장치의 블록도이다. 도 14에 있어서, 도 1과 마찬가지인 구성 요소에 대해서는, 동일한 부호를 부가하고, 설명을 생략한다.Fig. 14 is a block diagram of a motion detection apparatus in accordance with the third embodiment of the present invention. In FIG. 14, the same code | symbol is attached | subjected about the component similar to FIG. 1, and description is abbreviate | omitted.
본 실시예의 움직임 검출 장치는 도 14에 나타내는 바와 같이, 정수 화소 정밀도 움직임 검출기(21), 1/2 화소 정밀도 움직임 검출기(22), 로컬 메모리(31, 32), SDRAM(41), DMA 컨트롤러(42) 및 프로세서(20)를 구비한다.As shown in Fig. 14, the motion detection device of this embodiment includes an integer pixel
본 실시예의 움직임 검출 장치에서는, 정수 화소 정밀도 움직임 검출 후에, 1/2 화소 정밀도 움직임 검출을 실시하고, 1/4 화소 정밀도 움직임 검출은 실시하지 않는다. 또한, 1/2 화소 정밀도 움직임 검출에서는, 참조 화상의 화소를 추출하지 않는 것으로 한다.In the motion detection device of this embodiment, after integer pixel precision motion detection, 1/2 pixel precision motion detection is performed, and 1/4 pixel precision motion detection is not performed. In addition, the pixel of a reference image shall not be extracted by 1/2 pixel precision motion detection.
도 15는 본 발명의 실시예 3에 있어서의 움직임 검출 장치의 흐름도이다.Fig. 15 is a flowchart of the motion detection apparatus in the third embodiment of the present invention.
도 15에 나타내는 바와 같이, 본 실시예의 움직임 검출 장치는 단계 S51에 있어서, 정수 화소 정밀도 움직임 검출용의 참조 화상 데이터를 SDRAM(41)으로부터 로컬 메모리(31)로 전송한다.As shown in FIG. 15, the motion detection apparatus of this embodiment transfers reference image data for integer pixel precision motion detection from the
단계 S52에 있어서, 정수 화소 정밀도 움직임 검출을 행한다.In step S52, integer pixel precision motion detection is performed.
단계 S53에 있어서, 1/2 화소 정밀도 움직임 검출용의 참조 화상 데이터를 SDRAM(41)으로부터 로컬 메모리(32)로 전송한다. 이 1/2 화소 정밀도 움직임 검출용의 참조 화상 데이터의 전송은 단계 S51의 정수 화소 정밀도 움직임 검출용의 참조 화상 데이터의 전송과 병행하여 행해도 좋고, 단계 S52의 정수 화소 정밀도 움직임 검출과 병행하여 행해도 좋다.In step S53, reference image data for 1/2 pixel precision motion detection is transferred from the
1/2 화소 정밀도 움직임 검출용의 참조 화상 데이터의 전송할 영역은 정수 화소 정밀도 움직임 검출의 탐색 결과에 의존하지 않고 결정된다. 그 결정의 방법은 본 발명의 실시예 1에 있어서의 1/4 화소 정밀도 움직임 검출용의 참조 화상 데이터의 전송 영역의 결정의 방법과 마찬가지이다(도 6 참조). 즉, 현재 부호화중인 매크로 블록에 대하여, 정수 정밀도 움직임 벡터가 어떤 위치에 귀착되더라도, 1/2 화소 정밀도 움직임 검출에 필요한 참조 화상 데이터가 반드시 포함되도록, 1/2 화소 정밀도 움직임 검출용의 참조 화상 데이터의 전송할 영역을 결정한다.The area to be transmitted of the reference image data for 1/2 pixel precision motion detection is determined without depending on the search result of integer pixel precision motion detection. The determination method is the same as the determination method of the transmission area of the reference image data for 1/4 pixel precision motion detection in
단계 S54에 있어서, 단계 S52의 정수 화소 정밀도 움직임 검출의 탐색 결과를 기초로, 단계 S53에서 전송한 1/2 화소 정밀도 움직임 검출용의 참조 화상 데이터를 이용하여, 1/2 화소 정밀도 움직임 검출을 행한다.In step S54, based on the search result of the integer pixel precision motion detection in step S52, 1/2 pixel precision motion detection is performed using the reference image data for 1/2 pixel precision motion detection transferred in step S53. .
이와 같이, 본 실시예의 움직임 검출 장치에 의하면, 정수 화소 정밀도 움직임 검출의 결과를 기다리지 않고, 1/2 화소 정밀도 움직임 검출용의 참조 화상 데이터를 전송할 수 있기 때문에, 1/2 화소 정밀도 움직임 검출용의 참조 화상 데이터의 대기 시간이 감소되고, 매크로 블록 처리의 대기 시간이 개선된다.As described above, according to the motion detection device of the present embodiment, since reference image data for 1/2 pixel precision motion detection can be transmitted without waiting for the result of integer pixel precision motion detection, The waiting time of the reference picture data is reduced, and the waiting time of the macro block processing is improved.
도 16은 본 발명의 실시예 3에 있어서의 움직임 검출 장치의 파이프라인의 구성을 나타낸다. 본 실시예의 움직임 검출 장치에 의하면, 스테이지-1에 있어서, 1/2 화소 정밀도 움직임 검출용의 참조 화상 데이터 전송이 실시될 수 있기 때문에, 파이프라인 단수가 1개 적은 것으로 족하다.Fig. 16 shows the configuration of a pipeline of the motion detection apparatus in the third embodiment of the present invention. According to the motion detection apparatus of the present embodiment, since the reference image data transfer for 1/2 pixel precision motion detection can be performed in the stage-1, the number of pipeline stages is sufficient.
(실시예 4)(Example 4)
본 발명의 실시예 4의 움직임 검출 장치는 도 1에 나타낸 본 발명의 실시예 1의 움직임 검출 장치와 같은 블록 구성이다. 따라서, 본 실시예의 움직임 검출 장치의 설명은 도 1을 참조하여 행한다.The motion detection apparatus of
본 실시예의 움직임 검출 장치는 본 발명의 실시예 1과 실시예 3을 조합시킨 것이며, 정수 화소 정밀도 움직임 검출, 1/2 화소 정밀도 움직임 검출 및 1/4 화소 정밀도 움직임 검출을 실시한다. 또한, 본 실시예의 움직임 검출 장치는 1/2 화소 정밀도 움직임 검출용의 참조 화상 전송을 정수 화소 정밀도 움직임 검출의 결과를 기다리는 일 없이 실시할 수 있고, 또한, 1/4 화소 정밀도 움직임 검출용의 참조 화상 전송을 정수 화소 정밀도 움직임 검출에 있어서 움직임 벡터가 확정된 직후에 개시할 수 있다.The motion detection device of this embodiment is a combination of
도 17은 본 발명의 실시예 4에 있어서의 움직임 검출 장치의 흐름도이다. 도 1을 참조하면서, 도 17에 따라, 본 실시예의 움직임 검출 장치의 동작을 설명한다.Fig. 17 is a flowchart of a motion detection device in
단계 S61에 있어서, 정수 화소 정밀도 움직임 검출용 참조 화상 데이터의 전송을 행한다.In step S61, the integer pixel precision motion detection reference image data is transferred.
단계 S62에 있어서, 정수 화소 정밀도 움직임 검출을 행한다.In step S62, integer pixel precision motion detection is performed.
단계 S62와 동시에, 단계 S63에 있어서, 1/2 화소 정밀도 움직임 검출용 참조 화상 데이터의 전송을 행한다.Simultaneously with step S62, in step S63, reference image data for 1/2 pixel precision motion detection is transferred.
단계 S64에 있어서, 단계 S62의 정수 화소 정밀도 움직임 검출의 탐색 결과 를 기초로, 단계 S63에서 전송한 1/2 화소 정밀도 움직임 검출용의 참조 화상 데이터를 이용하여, 1/2 화소 정밀도 움직임 검출을 행한다.In step S64, based on the search result of integer pixel precision motion detection in step S62, 1/2 pixel precision motion detection is performed using the reference image data for 1/2 pixel precision motion detection transferred in step S63. .
단계 S64와 동시에, 단계 S65에 있어서, 단계 S62의 정수 화소 정밀도 움직임 검출의 탐색 결과를 기초로 결정된 데이터 전송 영역에 대하여, 1/4 화소 정밀도 움직임 검출용 참조 화상 데이터의 전송을 행한다.Simultaneously with step S64, in step S65, reference image data for 1/4 pixel precision motion detection is transferred to the data transfer area determined on the basis of the search result of the integer pixel precision motion detection in step S62.
단계 S66에 있어서, 단계 S64의 1/2 화소 정밀도 움직임 검출의 탐색 결과를 기초로, 단계 S65에서 전송한 1/4 화소 정밀도 움직임 검출용의 참조 화상 데이터를 이용하여, 1/4 화소 정밀도 움직임 검출을 행한다.In step S66, based on the search result of 1/2 pixel precision motion detection in step S64, 1/4 pixel precision motion detection is performed using the reference image data for 1/4 pixel precision motion detection transferred in step S65. Is done.
이와 같이, 본 실시예의 움직임 검출 장치는 정수 화소 정밀도 움직임 검출의 결과를 기다리지 않고, 1/2 화소 정밀도 움직임 검출용의 참조 화상 데이터를 전송할 수 있기 때문에, 1/2 화소 정밀도 움직임 검출용의 참조 화상 데이터의 대기 시간이 감소된다. 또한, 1/2 화소 정밀도 움직임 검출의 결과를 기다리지 않고, 1/4 화소 정밀도 움직임 검출용의 참조 화상 데이터를 전송할 수 있기 때문에, 1/4 화소 정밀도 움직임 검출용의 참조 화상 데이터의 대기 시간이 감소된다. 이 결과, 본 실시예의 움직임 검출 장치에 의하면, 매크로 블록 처리의 대기 시간이 대폭 개선된다.As described above, since the motion detection device of the present embodiment can transmit reference image data for 1/2 pixel precision motion detection without waiting for the result of integer pixel precision motion detection, the reference image for 1/2 pixel precision motion detection The latency of data is reduced. In addition, since the reference image data for 1/4 pixel precision motion detection can be transmitted without waiting for the result of 1/2 pixel precision motion detection, the waiting time of the reference image data for 1/4 pixel precision motion detection is reduced. do. As a result, according to the motion detection apparatus of this embodiment, the waiting time for macroblock processing is greatly improved.
도 18은 본 발명의 실시예 4에 있어서의 움직임 검출 장치의 파이프라인의 구성을 나타낸다. 도 18에 나타내는 바와 같이, 본 실시예의 움직임 검출 장치는 스테이지-1에 있어서, 1/2 화소 정밀도 움직임 검출용의 참조 화상 데이터의 전송이 실시될 수 있고, 또한, 스테이지―2에 있어서, 1/4 화소 정밀도 움직임 검출 용의 참조 화상 데이터의 전송이 실시될 수 있다. 그 결과, 본 실시예의 움직임 검출 장치에서는, 파이프라인 단수가 2단 감소된다. 또한, 본 실시예의 움직임 검출 장치는 매크로 블록 처리의 대기 시간이 움직임 벡터 검출의 실행 시간에 의해서만 결정되어, 데이터 전송에 의한 지연이 발생하지 않는다고 하는 특징을 갖는다.Fig. 18 shows a configuration of a pipeline of the motion detection apparatus in the fourth embodiment of the present invention. As shown in Fig. 18, in the motion detection device of the present embodiment, the reference image data for motion detection of 1/2 pixel precision can be transferred in stage-1, and in stage-2, 1/1 is performed. Transfer of reference image data for 4-pixel precision motion detection can be performed. As a result, in the motion detection apparatus of this embodiment, the number of pipeline stages is reduced by two stages. In addition, the motion detection apparatus of this embodiment is characterized in that the waiting time of macroblock processing is determined only by the execution time of motion vector detection, so that a delay due to data transmission does not occur.
(실시예 5)(Example 5)
도 19는 본 발명의 실시예 5에 있어서의 움직임 검출 장치의 블록도이다. 도 19에 있어서, 도 1과 마찬가지인 구성 요소에 대해서는, 동일한 부호를 부가하고, 설명을 생략한다.Fig. 19 is a block diagram of a motion detection device in
본 실시예의 움직임 검출 장치는 도 19에 나타내는 바와 같이, 정수 화소 정밀도 움직임 검출기(21), 움직임 보상기(24), 로컬 메모리(31, 32), SDRAM(41), DMA 컨트롤러(42) 및 프로세서(20)를 구비한다.As shown in FIG. 19, the motion detection device of this embodiment includes an integer pixel
본 실시예의 움직임 검출 장치에서는, 정수 화소 정밀도 움직임 검출 후에, 움직임 보상을 행한다.In the motion detection device of this embodiment, motion compensation is performed after integer pixel precision motion detection.
도 20은 본 발명의 실시예 5에 있어서의 움직임 검출 장치의 흐름도이다.20 is a flowchart of a motion detection apparatus in
도 20에 나타내는 바와 같이, 본 실시예의 움직임 검출 장치는 단계 S71에 있어서, 정수 화소 정밀도 움직임 검출용의 참조 화상 데이터를 SDRAM(41)으로부터 로컬 메모리(31)로 전송한다.As shown in FIG. 20, the motion detection apparatus of this embodiment transfers reference image data for integer pixel precision motion detection from the
단계 S72에 있어서, 단계 S71에 있어서 로컬 메모리(31)로 전송된 참조 화상 데이터를 이용하여, 정수 화소 정밀도 움직임 검출을 행한다.In step S72, integer pixel precision motion detection is performed using the reference image data transferred to the
단계 S73에 있어서, 움직임 보상용의 참조 화상 데이터를 SDRAM(41)으로부터 로컬 메모리(32)로 전송한다. 이 참조 화상 데이터의 전송은 단계 S72의 정수 화소 정밀도 움직임 검출과 병행하여 실시한다.In step S73, the reference image data for motion compensation is transferred from the
단계 S74에 있어서, 단계 S73에서 전송한 움직임 보상용의 참조 화상 데이터를 이용하여, 단계 S72의 정수 화소 정밀도 움직임 검출의 탐색 결과를 기초로, 움직임 보상을 행한다.In step S74, motion compensation is performed based on the search result of integer pixel precision motion detection in step S72, using the reference image data for motion compensation transmitted in step S73.
이와 같이, 본 실시예의 움직임 검출 장치에 의하면, 정수 화소 정밀도 움직임 검출의 결과를 기다리지 않고, 움직임 보상용의 참조 화상 데이터를 전송할 수 있기 때문에, 움직임 보상용의 참조 화상 데이터의 대기 시간이 감소되고, 매크로 블록 처리의 대기 시간이 개선된다.As described above, according to the motion detection device of the present embodiment, since the reference image data for motion compensation can be transmitted without waiting for the result of integer pixel precision motion detection, the waiting time of the reference image data for motion compensation is reduced, The latency of macro block processing is improved.
도 21은 본 발명의 실시예 5에 있어서의 움직임 검출 장치의 파이프라인의 구성을 나타낸다. 본 실시예의 움직임 검출 장치에 의하면, 스테이지-1에 있어서, 움직임 보상용의 참조 화상 데이터 전송이 실시될 수 있기 때문에, 파이프라인 단수가 1개 적은 것으로 족하다.Fig. 21 shows the configuration of a pipeline of the motion detection apparatus in the fifth embodiment of the present invention. According to the motion detection device of the present embodiment, since the reference image data for motion compensation can be transmitted in stage-1, it is sufficient that the number of pipeline stages is one.
이상 설명한 바와 같이, 본 발명의 움직임 검출 장치에 의하면, 1/2 화소 정밀도 움직임 검출용의 참조 화상 데이터의 전송과 1/4 화소 정밀도 움직임 검출용의 참조 화상 데이터의 전송을, 각각 상위 계층의 화소 정밀도 움직임 검출의 결과를 기다리지 않고, 실시할 수 있기 때문에, 참조 화상 데이터의 전송에 따른 지연이 발생하지 않고, 매크로 블록 처리의 대기 시간이 대폭 개선된다. 또한, 본 발명의 움직임 검출 장치에 의하면, 파이프라인 단수의 감소와, 파이프라인 버퍼수의 감소가 가능해진다. 이 결과, 고속 처리가 가능한 동화상의 움직임 검출 장치를 보다 소형으로 낮은 비용에 실현할 수 있다.As described above, according to the motion detection apparatus of the present invention, the transfer of the reference image data for 1/2 pixel precision motion detection and the transfer of reference image data for 1/4 pixel precision motion detection are performed by the pixels of the upper layer. Since it can be performed without waiting for the result of the precision motion detection, the delay according to the transmission of the reference image data does not occur, and the waiting time of the macroblock processing is greatly improved. In addition, according to the motion detection apparatus of the present invention, the number of pipeline stages and the number of pipeline buffers can be reduced. As a result, it is possible to realize a motion detection device of a moving picture that can be processed at high speed at a smaller size and at a lower cost.
본 발명의 취지는 참조 화상 데이터의 전송에 따르는 매크로 블록 처리의 대기 시간을 개선하고, 또한, 파이프라인 버퍼의 필요한 개수를 감소시킬 수 있는, 동화상 부호화용 움직임 검출 장치를 실현하는 것에 있고, 본 발명의 취지를 일탈하지 않는 한, 여러 가지의 적용이 가능하다.It is an object of the present invention to realize a motion detection apparatus for moving picture encoding, which can improve the waiting time of macroblock processing accompanying transmission of reference picture data and can also reduce the required number of pipeline buffers. Various applications are possible without departing from the spirit of the application.
본 발명에 따른 움직임 검출 장치는, 예컨대, 동화상의 부호화 장치와 그 응용 분야에서 이용할 수 있다.The motion detection apparatus according to the present invention can be used, for example, in a video encoding apparatus and its application field.
Claims (16)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020067022100A KR100892471B1 (en) | 2004-07-13 | 2005-07-07 | Motion detection device |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JPJP-P-2004-00205806 | 2004-07-13 | ||
KR1020067022100A KR100892471B1 (en) | 2004-07-13 | 2005-07-07 | Motion detection device |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020087029764A Division KR20090014371A (en) | 2004-07-13 | 2005-07-07 | Motion detection device |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070017160A KR20070017160A (en) | 2007-02-08 |
KR100892471B1 true KR100892471B1 (en) | 2009-04-10 |
Family
ID=41347525
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020067022100A KR100892471B1 (en) | 2004-07-13 | 2005-07-07 | Motion detection device |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100892471B1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05236466A (en) * | 1992-02-25 | 1993-09-10 | Nec Corp | Device and method for inter-frame predictive image encoding for motion compensation |
JPH06197322A (en) * | 1992-12-24 | 1994-07-15 | Matsushita Electric Ind Co Ltd | Motion detection circuit |
-
2005
- 2005-07-07 KR KR1020067022100A patent/KR100892471B1/en not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05236466A (en) * | 1992-02-25 | 1993-09-10 | Nec Corp | Device and method for inter-frame predictive image encoding for motion compensation |
JPH06197322A (en) * | 1992-12-24 | 1994-07-15 | Matsushita Electric Ind Co Ltd | Motion detection circuit |
Also Published As
Publication number | Publication date |
---|---|
KR20070017160A (en) | 2007-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100553321C (en) | The coding dynamic filter | |
US8964829B2 (en) | Techniques to perform fast motion estimation | |
KR20090014371A (en) | Motion detection device | |
JP2008523724A (en) | Motion estimation technology for video coding | |
JP2006254349A (en) | Motion vector detecting method and apparatus, and computer program for executing motion vector detection processing on computer | |
KR100843418B1 (en) | Apparatus and method for image coding | |
JP2007142521A (en) | Apparatus and method for calculating motion vector | |
JP2938412B2 (en) | Method for compensating luminance change of moving image, moving image encoding device, moving image decoding device, recording medium recording moving image encoding or decoding program, and recording medium recording moving image encoded data | |
JPWO2010100672A1 (en) | Compressed video encoding device, compressed video decoding device, compressed video encoding method, and compressed video decoding method | |
JPH11239354A (en) | Motion vector detector | |
FI109634B (en) | Method and apparatus for encoding a video image | |
CN112449182A (en) | Video encoding method, device, equipment and storage medium | |
KR20170126934A (en) | Content-Adaptive B-Picture Pattern Video Encoding | |
JP2005167976A (en) | Motion vector detecting device and motion vector detecting program | |
KR100926752B1 (en) | Fine Motion Estimation Method and Apparatus for Video Coding | |
KR100892471B1 (en) | Motion detection device | |
US20060062305A1 (en) | Method for block-matching motion estimation with effective computation while small motion movement | |
JP2004260251A (en) | Apparatus and program of detecting motion vector | |
JP4590337B2 (en) | Moving picture coding apparatus and moving picture coding method | |
JP2001145011A (en) | Video signal encoder | |
JP2008072608A (en) | Apparatus and method for encoding image | |
WO2020181507A1 (en) | Image processing method and apparatus | |
JP2005354174A (en) | Motion-searching apparatus | |
KR100290618B1 (en) | Method for estimating motion of block unit in image compression coding | |
JP2007081548A (en) | Motion vector searching device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application | ||
A107 | Divisional application of patent | ||
AMND | Amendment | ||
J201 | Request for trial against refusal decision | ||
B701 | Decision to grant | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |