KR20100032235A - Method and apparatus for transcoding compressed image - Google Patents
Method and apparatus for transcoding compressed image Download PDFInfo
- Publication number
- KR20100032235A KR20100032235A KR1020080091295A KR20080091295A KR20100032235A KR 20100032235 A KR20100032235 A KR 20100032235A KR 1020080091295 A KR1020080091295 A KR 1020080091295A KR 20080091295 A KR20080091295 A KR 20080091295A KR 20100032235 A KR20100032235 A KR 20100032235A
- Authority
- KR
- South Korea
- Prior art keywords
- mode
- motion vector
- motion
- block
- information
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/12—Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
- H04N19/122—Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- 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/40—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
본 발명은 소정의 포맷으로 압축된 영상을 다른 영상압축 포맷으로 변환하는 트랜스코딩 방법 및 장치에 관한 것이다. 보다 구체적으로 본 발명은 하나의 객체에 대해서 두 대 이상의 카메라를 이용해서 획득된 영상을 효율적으로 압축하는 MVC(Multi-view Video Coding) 표준에 의해 압축된 영상을, 종래에 폭넓게 사용되어 온 MPEG-4 Simple profile(SP) 포맷으로 변환하는 방법 및 장치에 관한 것이다.The present invention relates to a transcoding method and apparatus for converting an image compressed in a predetermined format into another image compression format. More specifically, the present invention relates to MPEG-, which has been widely used in the past, for compressing an image compressed by an MVC (Multi-view Video Coding) standard for efficiently compressing an image obtained by using two or more cameras for an object. 4 Method and apparatus for converting into Simple profile (SP) format.
본 발명은 서울특별시 산학연 협력사업(2006년 신기술 연구개발 지원사업)에 포함된 연구과제(차세대 DMB/DTV를 위한 비디오 압축기술 및 저작권 관리 기술연구)의 결과물이다.The present invention is the result of a research project (video compression technology and copyright management technology research for the next generation DMB / DTV) included in the Seoul-Academic-Industrial Cooperation Project (New Technology R & D Support Project).
컴퓨터와 통신기술이 발전함에 따라서 다양한 데이터를 네트워크를 통해 전송할 수 있게 되었다. 네트워크를 통해 대용량의 멀티미디어 데이터를 전송하기 위하여 여러 가지 멀티미디어 데이터 압축 포맷들이 소개되고 있는데, 송신측과 수신측의 환경이 다르기 때문에 양측의 QoS(Quality Of Service)를 고려하여 하나의 데이터 포맷을 다른 데이터 포맷으로 변환하는 것이 필요한데, 이를 트랜스코 딩(transcoding)이라 한다. 비디오 트랜스코딩에는 픽셀 영역(pixel-domain)에서의 트랜스코딩 방법과 주파수 변환영역, 예를 들어 DCT(Discrete Cosine Transform) 영역에서의 트랜스코딩 방법이 있다.As computers and communication technologies have evolved, a variety of data can be transmitted over the network. In order to transmit a large amount of multimedia data through a network, various multimedia data compression formats have been introduced. Since the environment of the sender and the receiver is different, one data format is considered in consideration of the quality of service (QoS) of both parties. It is necessary to convert to a format, which is called transcoding. Video transcoding includes a transcoding method in a pixel-domain and a transcoding method in a frequency conversion region, for example, a discrete cosine transform (DCT) region.
픽셀 영역에서 트랜스코딩을 하기 위해서는 디코딩과 인코딩을 다시 수행해야 하는데, 따라서 모든 프레임에 있는 모든 매크로블록에 대한 움직임 예측과정을 다시 수행하여야 한다. 그러므로, 트랜스코딩에 시간이 많이 걸리고 트랜스코딩된 영상을 실시간으로 전송하기가 어렵다.To perform transcoding in the pixel domain, decoding and encoding must be performed again. Therefore, motion prediction for all macroblocks in all frames must be performed again. Therefore, transcoding takes a long time and it is difficult to transmit the transcoded image in real time.
본 발명은 픽셀 영역에서 트랜스코딩을 하기 위하여 디코딩과 인코딩을 다시 수행해야 할 경우에, 모든 프레임에 있는 모든 매크로블록에 대한 움직임 예측과정을 다시 수행하여야 함에 따라 트랜스코딩에 시간이 많이 걸리고 트랜스코딩된 영상을 실시간으로 전송하기가 어려운 문제를 극복하기 위하여, MVC(Multi-view Video Coding) 표준에 의해 압축된 영상을 MPEG-4 Simple profile(SP) 포맷으로 변환하는 방법 및 장치를 제공함을 목적으로 한다.According to the present invention, when decoding and encoding have to be performed again in order to perform transcoding in the pixel region, transcoding takes a long time and transcodes because the motion prediction process for all macroblocks in all frames has to be performed again. In order to overcome the difficulty of transmitting images in real time, an object of the present invention is to provide a method and apparatus for converting an image compressed by the MVC (Multi-view Video Coding) standard into MPEG-4 Simple profile (SP) format. .
상기 목적을 달성하기 위하여 본 발명은 (a) 소정의 제1압축방법으로 압축된 비트스트림을 디코딩하여 픽셀 영역의 데이터와 각 매크로블록의 움직임벡터 정보 및 매크로블록 정보를 출력하는 단계; 및 (b) 상기 픽셀영역의 데이터를 입력받아 소정의 제2압축방법으로 인코딩을 수행하는데 있어, 상기 움직임벡터 정보와 매크로블록 정보를 이용하여 움직임 보상을 수행하는 단계를 포함하는 트랜스코딩 방법을 제공한다.In order to achieve the above object, the present invention comprises the steps of: (a) decoding the bitstream compressed by a predetermined first compression method to output data of the pixel region, motion vector information and macroblock information of each macroblock; And (b) receiving data of the pixel region and performing encoding using a predetermined second compression method, wherein the motion compensation is performed using the motion vector information and macroblock information. do.
여기서, 상기 (b) 단계는, 상기 제1압축방법에 의해 만들어진 영상을 구성하는 매크로블록의 블록모드 정보와 움직임벡터정보를 수신하여, 상기 블록모드를 16x16 또는 8x8 블록모드로 변환하고, 상기 움직임벡터를 16x16 또는 8x8 블록의 움직임벡터로 매핑시키는 것이 바람직하다.In the step (b), the block mode information and the motion vector information of the macroblock constituting the image produced by the first compression method are received, the block mode is converted into a 16x16 or 8x8 block mode, and the motion It is preferable to map the vector to a motion vector of a 16x16 or 8x8 block.
또한, 상기 목적을 달성하기 위하여 본 발명은 (a) 소정의 압축방법에 의해 만들어진 영상을 구성하는 매크로블록의 블록모드 정보와 움직임벡터 정보를 입력받는 단계; (b) 상기 블록모드를 16x16 또는 8x8 블록모드로 변환하는 단계; 및 (c) 상기 움직임벡터를 16x16 또는 8x8 블록의 움직임벡터로 매핑시키는 단계를 포함하는 것을 특징으로 하는 트랜스코딩 방법을 제공한다. In addition, the present invention to achieve the above object (a) receiving the block mode information and motion vector information of the macroblock constituting the image produced by a predetermined compression method; (b) converting the block mode to a 16x16 or 8x8 block mode; And (c) mapping the motion vector to a motion vector of a 16x16 or 8x8 block.
여기서, 상기 트랜스코딩 방법은 (d) 상기 매핑된 움직임벡터 좌표의 화소에 이웃하는 화소에 대하여 움직임추정을 수행하여 얻어진 움직임벡터 좌표의 화소 주변으로 1/2 화소를 만들고, 이들 1/2 화소에 대하여 움직임추정을 더 수행하여 움직임벡터를 결정하는 단계를 더 포함하는 것이 바람직하다.In the transcoding method, (d) a half pixel is formed around a pixel of a motion vector coordinate obtained by performing a motion estimation on a pixel neighboring the pixel of the mapped motion vector coordinate, The method may further include determining a motion vector by performing motion estimation on the motion vector.
한편, 상기 목적을 달성하기 위한 본 발명의 다른 측면에 따르면, 소정의 제1압축방법으로 압축된 비트스트림을 디코딩하여 픽셀 영역의 데이터와 각 매크로블록의 움직임벡터 정보 및 매크로블록 정보를 출력하는 디코더; 및 상기 픽셀영역의 데이터를 입력받아 소정의 제2압축방법으로 인코딩할 때 상기 움직임벡터 정보와 매크로블록 정보를 이용하여 움직임 보상을 수행하는 인코더를 포함하는 것을 특징으로 하는 트랜스코딩 장치가 제공된다. On the other hand, according to another aspect of the present invention for achieving the above object, a decoder for decoding the bitstream compressed by a predetermined first compression method to output the data of the pixel region, the motion vector information and macroblock information of each macroblock ; And an encoder configured to perform motion compensation using the motion vector information and the macroblock information when the data of the pixel area is input and encoded by a predetermined second compression method.
상기 인코더는 움직임 보상부를 포함하며, 상기 움직임 보상부는 상기 제1압축방법에 의해 만들어진 영상을 구성하는 매크로블록의 블록모드 정보와 움직임벡터정보를 수신하여, 상기 블록모드를 16x16 또는 8x8 블록모드로 변환하고, 상기 움직임벡터를 16x16 또는 8x8 블록의 움직임벡터로 매핑시키는 것이 바람직하다.The encoder includes a motion compensator, wherein the motion compensator receives the block mode information and the motion vector information of the macroblock constituting the image produced by the first compression method, and converts the block mode to 16x16 or 8x8 block mode. Preferably, the motion vector is mapped to a motion vector of a 16x16 or 8x8 block.
본 발명에 따르면, MVC 표준에 따라 압축된 영상을 MPEG-4 단말기에서도 재 생할 수 있게 된다. 즉, 종래의 MPEG-4 단말기를 교체하지 않고도 새로운 표준인 MVC 표준에 따라 만들어진 영상을 재생할 수 있어 자원의 낭비를 막을 수 있다.According to the present invention, a video compressed according to the MVC standard can be played in an MPEG-4 terminal. In other words, it is possible to play back video created according to the new standard MVC standard without replacing the conventional MPEG-4 terminal to prevent waste of resources.
이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대해 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
본 발명은 하나의 객체에 대해서 두 대 이상의 카메라를 이용해서 획득된 영상을 효율적으로 압축하는 표준인 MVC (Multi-view Video Coding, H.264/MPEG-4 Part 10 AVC Amendment 4: Multi-view Video Coding)에 의해 압축된 영상을, 종래에 폭넓게 사용되어 온 MPEG-4 Simple profile(SP) 포맷으로 변환하는 트랜스코딩 방법 및 장치를 개시한다.The present invention relates to MVC (Multi-view Video Coding, H.264 / MPEG-4
MVC는 두 대 이상의 카메라를 이용하여 얻은 영상을 H.264 기반으로 압축할 수 있도록 만든 압축 표준으로 종래의 동영상 압축 표준인 H.261, H.263, MPEG-2 그리고 MPEG-4 들과의 상호 연관성을 고려하지 않고 만들어진 표준이다. 따라서 MVC와 MPEG-4는 서로 다른 특징을 가지고 있다. MVC is a compression standard that enables H.264-based compression of images obtained by using two or more cameras. It is compatible with H.261, H.263, MPEG-2 and MPEG-4. It is a standard created without considering relevance. Thus, MVC and MPEG-4 have different characteristics.
MVC의 가장 큰 특징으로서, MVC는 여러 대의 카메라에서 획득된 영상을 기존 동영상 압축 표준과 같이 시간 중복성 제거뿐 아니라 카메라간의 상관성을 이용하여 카메라간(시점간) 중복성도 제거한 것이며, 여러 대의 카메라의 영상을 압축하였기에 하나의 비트스트림 안에는 여러 대의 카메라에서 획득된 영상을 압축한 정보가 모두 들어가 있다. 그 외에도, MVC는 4×4 블록단위로 정수 DCT를 수행하는 반면에, MPEG-4는 8×8 블록단위로 DCT를 수행한다. 또한 움직임 보상(Motion Compensation, MC)에서 1/2 픽셀 단위의 움직임 예측을 수행하는 MPEG-4와는 달리, MVC는 정확성(accuracy)을 높이기 위해서 1/4 픽셀 단위의 움직임 예측을 수행한다. 또한, MPEG-4는 인트라예측에서 AC/DC 예측을 수행하는데 비하여 MVC 에서는 공간예측을 수행한다. 그리고 움직임추정(Motion Estimation, ME)시 사용되는 MVC의 블록타입과 MPEG-4의 블록타입도 서로 다르다. 엔트로피 코딩에 있어서도 MPEG-4는 허프만 테이블(Huffman table)을 사용하지만, MVC에서는 유니버설 가변길이 코드(Universal Variable Length Coding, UVLC) 또는 컨텍스트 기반의 이진 산술 코딩(Context based Adaptive Binary Arithmetic Coding, CABAC)을 사용한다.As the biggest feature of MVC, MVC removes images obtained from multiple cameras by eliminating time redundancy as well as existing video compression standards, as well as removing inter-camera redundancy by using correlation between cameras. Since the data is compressed, all the information obtained by compressing the images obtained from several cameras is contained in one bitstream. In addition, MVC performs integer DCT in 4x4 block units, while MPEG-4 performs DCT in 8x8 block units. In addition, unlike MPEG-4, which performs motion prediction in units of 1/2 pixel in Motion Compensation (MC), MVC performs motion prediction in units of 1/4 pixels in order to increase accuracy. In addition, MPEG-4 performs spatial prediction in MVC, compared to performing AC / DC prediction in intra prediction. The MVC block type and the MPEG-4 block type used for motion estimation (ME) are also different. In entropy coding, MPEG-4 uses the Huffman table, but in MVC, Universal Variable Length Coding (UVLC) or Context based Adaptive Binary Arithmetic Coding (CABAC) is used. use.
도 1a는 MVC 표준에서 움직임추정시에 사용되는 블록들을 도시한 도면이다. 도 1a를 참조하면, MVC는 16x16 매크로블록을 7개의 가변블록으로 나눌 수 있고, 각각의 가변블록이 움직임벡터를 가짐을 알 수 있다. 즉, 매크로블록은 16x16, 8x16, 16x8, 8x8 블록으로 나누어질 수 있으며, 8x8 블록으로 나누어진 매크로블록은 다시 4x8, 8x4, 4x4로 나누어질 수 있다.1A is a diagram illustrating blocks used in motion estimation in the MVC standard. Referring to FIG. 1A, the MVC may divide a 16 × 16 macroblock into seven variable blocks, and each variable block may have a motion vector. That is, the macroblock may be divided into 16x16, 8x16, 16x8, and 8x8 blocks, and the macroblock divided into 8x8 blocks may be further divided into 4x8, 8x4, and 4x4.
도 1b는 MPEG-4 표준에서 움직임추정시에 사용되는 블록들을 도시한 도면이다. 도 1b를 참조하면, MPEG-4 표준에서는 MVC와는 달리 16x16 블록 또는 8x8 블록 2가지 형태의 블록만을 사용함을 알 수 있다. 따라서 MVC 표준으로 압축된 영상을 MPEG-4 포맷으로 변환하기 위해서는 블록 타입의 변환이 필요하다. FIG. 1B is a diagram illustrating blocks used in motion estimation in the MPEG-4 standard. Referring to FIG. 1B, unlike the MVC, the MPEG-4 standard uses only 16x16 blocks or 8x8 blocks. Therefore, in order to convert a video compressed by the MVC standard to MPEG-4 format, a block type conversion is required.
이하에서는 MVC 표준에 따라 압축된 동영상을 MPEG-4 포맷으로 변환할 때, MPEG-4에서 사용될 수 없는 MVC의 블록 타입과 움직임 정보를 어떻게 변환하여 트랜스코딩에 소요되는 시간을 줄일 것인가에 대하여 상세히 설명한다.Hereinafter, when converting a video compressed according to the MVC standard to MPEG-4 format, how to convert the block type and motion information of MVC that cannot be used in MPEG-4 to reduce the time required for transcoding will be described in detail. do.
픽셀 영역에서 트랜스코딩을 수행하는 방법으로 캐스케이드 픽셀 영역 트랜스코딩(Cascaded Pixel-domain Transcoding) 방법이 있다. 이 캐스케이드 픽셀 영역 트랜스코딩 방법은, 입력된 MVC 시점과 프레임을 모두 복원하고 복원된 영상에 대하여 하나의 시점에 대해 MPEG-4 표준에 따라 다시 압축을 수행하는 방법이다. 그러나 이 경우에는 모든 프레임에 있는 모든 매크로블록에 대한 움직임 예측 과정이 MPEG-4 부호화시에 다시 수행되어야 하기 때문에 변환 시간과 비용이 많이 들어 적합하지 않다.As a method of performing transcoding in the pixel region, there is a cascaded pixel-domain transcoding method. The cascaded pixel region transcoding method is a method of reconstructing both an input MVC view and a frame, and performing compression again according to the MPEG-4 standard on one view of the reconstructed image. However, in this case, since the motion prediction process for all macroblocks in all frames has to be performed again in MPEG-4 encoding, it is not suitable because of high conversion time and cost.
도 2는 본 발명에 따른 픽셀 영역 트랜스코딩 장치의 블록도이다. 본 발명의 트랜스코딩 장치에 따르면, 트랜스코딩 소요시간을 줄여 실시간 전송이 가능하도록 하기 위하여 MVC 디코더(10)에서 사용한 블록모드 및 움직임 정보를 MPEG-4 인코더(20)에서 재사용하도록 한다. 도 2의 트랜스코딩 장치는 MVC 디코더(10)와 MPEG-4 인코더(20)를 구비하여 MVC 비트스트림을 픽셀 영역으로 모두 디코딩한 후에 MPEG-4 비트스트림으로 변환한다.2 is a block diagram of a pixel region transcoding apparatus according to the present invention. According to the transcoding apparatus of the present invention, the block mode and motion information used in the
가변길이 디코더, 즉, 엔트로피 디코더(11)는 MVC 표준에 따라 압축된 비트스트림을 입력받아 가변길이 디코딩(Variable Length Decoding, VLD) 또는 컨텍스트 기반의 이진 산술 디코딩(Context based Adaptive Binary Arithmetic Decoding, CABAD)을 수행하여, 현재 복원되고 있는 디코딩된 비트스트림, 프레임의 프레임 형식, 매크로블록 정보 및 움직임 정보를 출력한다. 프레임 형식은 I 프레임, P 프레임 등의 형식을 나타내고 매크로블록 정보는 매크로블록이 어떠한 가변크기 블록을 사용하여 움직임추정이 수행되었는가 하는 정보이다. 움직임 정보는 참조영상에 대 한 정보와 움직임벡터로 구성되어 있으며, MVC 디코더(10)내의 움직임 보상부(13)와 MPEG-4 인코더(20) 내의 움직임 예측 및 보상부(27)로 전달된다. 매크로블록 정보도 또한 MPEG-4 인코더(20) 내의 움직임 예측 및 보상부(27)로 전달된다. The variable length decoder, that is, the
MVC 디코더(10)의 역양자화 및 역DCT 수행부(12)와 MPEG-4 인코더(20)의 역양자화부(24) 및 역DCT수행부(25)는 엔트로피 디코딩된 비트스트림을 역양자화하고 역DCT를 수행한다. 루프 필터(Loopfilter)(14)는 일종의 저역통과필터(Low Pass Filter, LPF)로서 블록간 경계를 스무딩(smoothing)하는 기능을 한다. 이렇게 픽셀 영역으로 변환된 프레임은 MPEG-4 인코더로 출력될 뿐 아니라, 프레임 저장부(15)에 저장되었다가 움직임 보상부(13)로 입력되어 움직임 보상에 사용된다. 움직임 보상부(13)는 엔트로피 디코더(11)에서 수신한 움직임 정보를 사용하여 움직임 보상을 수행한다.The inverse quantization and inverse
한편, MPEG-4 인코더(20)는 픽셀 영역으로 변환된 데이터를 일반적인 MPEG-4 인코딩 방법에 따라 DCT 수행부(21), 양자화부(22) 및 가변길이 인코더, 즉, 엔트로피 인코더(23)를 거쳐 MPEG-4 비트스트림을 만든다. MPEG-4 인코더(20)에서도 움직임 보상이 필요한데, MPEG-4 인코더(20)에서의 움직임 예측 및 보상부(27)는 MVC 디코더(10)로부터 수신한 움직임 정보와 매크로블록 정보를 이용하여 움직임 보상을 수행하다. 움직임 보상을 수행하기 위해 움직임 예측 및 보상부(27)는 DCT 및 양자화된 비트스트림이 역양자화부(24)와 역DCT 수행부(25)를 거쳐 프레임 저장부(26)에 저장된 프레임을 이용한다.Meanwhile, the MPEG-4
MVC 디코더(10)의 엔트로피 디코더(11)에 입력되어 복원된 비트스트림의 프 레임 형식이 P 또는 B 프레임(Predictive or Bi-predictive frame)이면, MPEG-4 인코더(20)에서 많은 시간을 소모하는 움직임 예측 과정을 생략하기 위하여 매크로블록 내에서는 블록 타입과 움직임벡터를 재사용한다. 그런데 MVC 표준에서는 1/4화소 움직임 예측 및 움직임 보상, 7개의 가변블록 및 인터뷰 예측 그리고 11개의 매크로블록 부호화 모드를 가지고 있기 때문에 MPEG-4 인코더(20)에서 이러한 정보들을 재사용하기 위해서는 블록형태의 변환을 하여야 한다.If the frame format of the bitstream input to the
도 3a~도 3f는 MVC 표준에 따라 인코딩된 비트스트림의 매크로블록 부호화 모드와 움직임벡터를 MPEG-4에서의 부호화 모드와 움직임벡터로 변환하는 것을 설명하는 도면이다.3A to 3F are diagrams illustrating conversion of a macroblock encoding mode and a motion vector of a bitstream encoded according to the MVC standard into an encoding mode and a motion vector in MPEG-4.
도 3a를 참조하면, MVC 매크로블록이 인트라16x16 모드이거나 인트라8x8 또는 인트라4x4 모드이면 MPEG-4에서는 인트라모드로 변환한다. Referring to FIG. 3A, if the MVC macroblock is an intra16x16 mode, an intra8x8 or intra4x4 mode, MPEG-4 converts to an intra mode.
도 3b를 참조하면, MVC 매크로블록이 인터16x16 모드이고 움직임벡터가 도 3b와 같으면, MPEG-4에서는 인터16x16 모드 및 MVC와 동일한 움직임벡터를 사용한다. Referring to FIG. 3B, if the MVC macroblock is in the inter16x16 mode and the motion vector is the same as in FIG. 3B, the MPEG-4 uses the inter16x16 mode and the same motion vector as the MVC.
MPEG-4에서도 인터16x16 모드가 존재하기 때문에 그대로 1:1로 매핑하여도 무방하다. 매크로블록이 인터16x8 또는 인터8x16 모드이고 도 3c에 도시한 것과 같은 움직임벡터를 가진다고 하면, 인터8x8 모드로 변환된다. 그리고 16x8 또는 8x16 블록의 움직임벡터는 8x8 블록에 나누어 매핑된다. Since there is an inter16x16 mode in MPEG-4, it can be mapped 1: 1. If the macroblock is in inter16x8 or inter8x16 mode and has a motion vector as shown in Fig. 3C, the macroblock is converted to inter8x8 mode. The motion vectors of the 16x8 or 8x16 blocks are divided into 8x8 blocks and mapped.
도 3d를 참조하면, MVC 매크로블록이 인터8x4, 4x8, 4x4, direct 8x8 모드인 경우에는 MPEG-4 에서는 인터8x8 모드로 변환한다.Referring to FIG. 3D, when the MVC macroblock is in the inter8x4, 4x8, 4x4, and direct 8x8 modes, the MPEG-4 converts to the inter8x8 mode.
MVC 매크로블록의 각 블록에서의 움직임벡터는 MPEG-4에서 2:1 또는 4:1로 매핑된다. 즉, 좌측 상단의 2개의 8x4 블록의 움직임벡터를 평균하여 MPEG-4에서의 좌측 상단의 8x8 블록의 움직임벡터로 한다. 4x8 블록의 경우에도 8x4와 같은 방법으로 MPEG-4에서의 8x8 블록의 움직임벡터를 구한다. 마찬가지로, 우측 상단의 4개의 4x4 블록의 움직임벡터를 평균하여 MPEG-4에서의 우측 상단의 8x8 블록의 움직임벡터로 한다. 좌측 하단의 움직임벡터는 서로 동일하다. 우측 하단의 direct 8x8 모드는 작은 범위 내에서 움직임 검색을 수행하여 우측 하단의 8x8 블록의 움직임벡터로 한다.The motion vectors in each block of the MVC macroblock are mapped to 2: 1 or 4: 1 in MPEG-4. That is, the motion vectors of two 8x4 blocks in the upper left are averaged to be the motion vectors of the 8x8 blocks in the upper left in MPEG-4. In the case of a 4x8 block, a motion vector of an 8x8 block in MPEG-4 is obtained by the same method as 8x4. Similarly, the motion vectors of the four 4x4 blocks in the upper right are averaged to be the motion vectors of the 8x8 blocks in the upper right in MPEG-4. The motion vectors at the bottom left are the same. The direct 8x8 mode at the bottom right performs the motion search within a small range and sets the motion vector of the 8x8 block at the bottom right.
도 3e에 도시된 바와 같이 매크로블록이 MVC의 skip 모드인 경우에는 인터16x16 모드로 변환하고 움직임벡터를 예측 움직임벡터(Predicted Motion Vector, PMV) 로 설정한다. 여기서 예측 움직임벡터는 MVC와 MPEG-4에서 공통으로 사용하는 주변 블록 움직임벡터의 중간값을 취해 움직임벡터를 산출하는 움직임벡터 예측기를 통해 얻어진 벡터를 말한다.As shown in FIG. 3E, when the macroblock is in the skip mode of the MVC, the macroblock is converted to the inter16x16 mode and the motion vector is set as a predicted motion vector (PMV). Here, the predicted motion vector refers to a vector obtained through a motion vector predictor that takes a median value of neighboring block motion vectors commonly used in MVC and MPEG-4 and calculates a motion vector.
도 3f에 도시된 바와 같이 매크로블록이 MVC의 direct 16x16 모드인 경우에는 인터16x16 모드로 변환하고 작은 범위 내에서 움직임 검색을 수행하여 16x16 블록의 움직임벡터로 한다.As shown in FIG. 3F, when the macroblock is in the direct 16x16 mode of the MVC, the macroblock is converted to the inter16x16 mode and a motion search is performed within a small range to obtain a motion vector of the 16x16 block.
상술한 바와 같이 블록 타입 변환을 수행하고, 블록 타입 변환을 통해 얻어진 움직임벡터를 중심으로 이웃하는 8개의 화소(neighbor pixel)에 대하여 움직임벡터를 찾고, 찾은 움직임벡터 주변으로 인터폴레이션(interpolation) 등의 방법으로 1/2 화소를 만들고 이들 1/2 단위 화소에 대한 움직임벡터를 더 찾아본다. 이렇 게 하여 PSNR(Peak Signal-to-Noise Ratios)의 향상을 얻을 수 있다. 여기에서 MVC의 direct 16X16, direct 8X8 모드에서 변환된 경우에는 이웃하는 8개의 화소에 대한 움직임벡터 검색은 생략할 수 있다.As described above, a method of performing block type conversion, finding a motion vector with respect to eight neighboring pixels around the motion vector obtained through block type conversion, and interpolation around the found motion vector We make 1/2 pixel and look up more motion vectors for these 1/2 unit pixels. In this way, an improvement in peak signal-to-noise ratios (PSNRs) can be obtained. Herein, when the MVC is converted in the direct 16X16 and direct 8X8 modes of the MVC, the motion vector search for the eight neighboring pixels may be omitted.
도 4는 본 발명의 트랜스코딩 방법의 플로우차트이다.4 is a flowchart of the transcoding method of the present invention.
본 발명의 트랜스코딩 방법을 정리하면, MVC 압축방법에 의해 만들어진 영상을 구성하는 매크로블록의 블록모드 정보와 움직임 정보를 입력받는다(110). In summary, the transcoding method of the present invention receives block mode information and motion information of a macroblock constituting an image generated by the MVC compression method (110).
그리고 MVC 블록모드를 인트라모드, 인터16x16 모드, 인터8x8 모드 중 어느 하나로 결정한다(120). 어떤 경우에 어떤 모드로 결정하는가는 도 3을 참조하여 상술한 것과 같다.In
아울러 MVC 움직임벡터를 MPEG-4 움직임벡터로 계산한다(130). 즉, 16x16 또는 8x8 블록의 움직임벡터로 매핑시킨다. In addition, the MVC motion vector is calculated as an MPEG-4 motion vector (130). That is, they are mapped to motion vectors of 16x16 or 8x8 blocks.
이렇게 계산된 움직임벡터 좌표의 화소에 이웃하는 화소에 대하여 움직임추정을 수행하여 얻어진 움직임벡터 좌표의 화소 주변으로 1/2 화소를 만들고, 이들 1/2 화소에 대하여 움직임추정을 더 수행하여 움직임벡터를 재조정한다(140).The motion estimation is performed on the pixels adjacent to the pixels of the motion vector coordinates calculated as described above, and 1/2 pixels are created around the pixels of the motion vector coordinates, and motion estimation is further performed on these 1/2 pixels. Readjust (140).
한편, 전술한 트랜스코딩 방법은 컴퓨터 프로그램으로 작성 가능하다. 상기 프로그램을 구성하는 코드들 및 코드 세그먼트들은 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 프로그램은 컴퓨터가 읽을 수 있는 정보저장매체(computer readable media)에 저장되고, 컴퓨터에 의하여 읽혀지고 실행됨으로써 참조 픽처 결정 방법 및 그 움직임 보상 방법을 구현한다. 상기 정보저장매체는 자기 기록매체, 광 기록매체, 및 캐리어 웨이브 매체를 포함한다.On the other hand, the above-described transcoding method can be written in a computer program. The codes and code segments that make up the program can be easily deduced by a computer programmer in the field. In addition, the program is stored in a computer readable media, and read and executed by a computer to implement the reference picture determination method and the motion compensation method. The information storage medium includes a magnetic recording medium, an optical recording medium, and a carrier wave medium.
도 1a는 MVC 표준에서 움직임추정시에 사용되는 블록들을 도시한 도면이다.1A is a diagram illustrating blocks used in motion estimation in the MVC standard.
도 1b는 MPEG-4 표준에서 움직임추정시에 사용되는 블록들을 도시한 도면이다.FIG. 1B is a diagram illustrating blocks used in motion estimation in the MPEG-4 standard.
도 2는 본 발명의 픽셀 영역 트랜스코딩 장치의 블록도이다.2 is a block diagram of a pixel region transcoding apparatus of the present invention.
도 3a~도 3f는 MVC 표준에 따라 인코딩된 비트스트림의 매크로블록 부호화 모드와 움직임벡터를, MPEG-4에서의 부호화 모드와 움직임벡터로 변환하는 것을 설명하는 도면이다.3A to 3F are diagrams illustrating conversion of a macroblock encoding mode and a motion vector of a bitstream encoded according to the MVC standard into an encoding mode and a motion vector in MPEG-4.
도 4는 본 발명의 트랜스코딩 방법의 프로세스 플로우차트이다.4 is a process flowchart of the transcoding method of the present invention.
Claims (15)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080091295A KR20100032235A (en) | 2008-09-17 | 2008-09-17 | Method and apparatus for transcoding compressed image |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080091295A KR20100032235A (en) | 2008-09-17 | 2008-09-17 | Method and apparatus for transcoding compressed image |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20100032235A true KR20100032235A (en) | 2010-03-25 |
Family
ID=42181555
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080091295A KR20100032235A (en) | 2008-09-17 | 2008-09-17 | Method and apparatus for transcoding compressed image |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20100032235A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012067399A3 (en) * | 2010-11-15 | 2012-07-12 | 엘지전자 주식회사 | Method for transforming frame format and apparatus using same method |
US9674547B2 (en) | 2013-03-15 | 2017-06-06 | Samsung Electronics Co., Ltd. | Method of stabilizing video, post-processing circuit and video decoder including the same |
-
2008
- 2008-09-17 KR KR1020080091295A patent/KR20100032235A/en not_active Application Discontinuation
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012067399A3 (en) * | 2010-11-15 | 2012-07-12 | 엘지전자 주식회사 | Method for transforming frame format and apparatus using same method |
CN103210653A (en) * | 2010-11-15 | 2013-07-17 | Lg电子株式会社 | Method for transforming frame format and apparatus using same method |
GB2499146A (en) * | 2010-11-15 | 2013-08-07 | Lg Electronics Inc | Method for transforming frame format and apparatus using same method |
US9407899B2 (en) | 2010-11-15 | 2016-08-02 | Lg Electronics Inc. | Method for transforming frame format and apparatus using same method |
US9674547B2 (en) | 2013-03-15 | 2017-06-06 | Samsung Electronics Co., Ltd. | Method of stabilizing video, post-processing circuit and video decoder including the same |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI666918B (en) | Determining palette size, palette entries and filtering of palette coded blocks in video coding | |
TWI689195B (en) | Coding escape pixels for palette coding | |
TWI419567B (en) | Video coding with large macroblocks | |
TWI392370B (en) | Video coding with large macroblocks | |
TWI488506B (en) | Video coding with large macroblocks | |
TWI535269B (en) | Performing motion vector prediction for video coding | |
JP6235040B2 (en) | Inter-layer prediction using sample adaptive adjustment for bit-depth scalable video coding | |
KR101387255B1 (en) | Adaptive motion resolution for video coding | |
RU2497303C2 (en) | Video coding using conversion more than 4×4 and 8×8 | |
KR101196429B1 (en) | Video transcoding method and apparatus, and motion vector interpolation method | |
KR101502612B1 (en) | Real-time encoding system of multiple spatially scaled video based on shared video coding information | |
KR101662139B1 (en) | Efficient storage of motion information for high efficiency video coding | |
JP5061179B2 (en) | Illumination change compensation motion prediction encoding and decoding method and apparatus | |
KR101502611B1 (en) | Real-time video coding system of multiple temporally scaled video and of multiple profile and standards based on shared video coding information | |
US8948243B2 (en) | Image encoding device, image decoding device, image encoding method, and image decoding method | |
JP2016187212A (en) | Picture decoding device | |
KR20110071231A (en) | Encoding method, decoding method and apparatus thereof | |
KR20090099234A (en) | Method and apparatus for video encoding and decoding | |
KR20050062836A (en) | Transcoding method and apparatus | |
US20120237132A1 (en) | Image-encoding method, image-encoding device, and computer-readable recording medium storing image-encoding program | |
CN113727108A (en) | Video decoding method, video encoding method and related equipment | |
JP2007266749A (en) | Encoding method | |
JP5375938B2 (en) | Decoding apparatus and method | |
KR20130085088A (en) | Method for fast mode decision in scalable video coding and apparatus thereof | |
JP2007194818A (en) | Encoding device, encoding method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |