KR101045191B1 - Improved image transcoder and transcoding method - Google Patents
Improved image transcoder and transcoding method Download PDFInfo
- Publication number
- KR101045191B1 KR101045191B1 KR1020090050991A KR20090050991A KR101045191B1 KR 101045191 B1 KR101045191 B1 KR 101045191B1 KR 1020090050991 A KR1020090050991 A KR 1020090050991A KR 20090050991 A KR20090050991 A KR 20090050991A KR 101045191 B1 KR101045191 B1 KR 101045191B1
- Authority
- KR
- South Korea
- Prior art keywords
- image
- motion vector
- screen
- quantization level
- image 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/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
-
- 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/117—Filters, e.g. for pre-processing or post-processing
-
- 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/124—Quantisation
-
- 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
Abstract
개선된 영상 트랜스코더 및 영상 트랜스코딩 방법을 개시한다. 개선된 영상 트랜스코더는 영상을 디코딩하여 영상 정보 큐에 전송하는 전처리 트랜스코더; 상기 영상의 영상 정보를 저장하는 영상 정보 큐; 및 상기 영상 정보에 포함된 코딩 타입을 확인하고, 상기 코딩 타입이 인트라(intra)가 아니면 상기 영상 정보에 대응하는 양자화 수준과 움직임 벡터를 선택하며, 선택한 양자화 수준과 움직임 벡터를 기초로 상기 영상 정보를 인코딩하는 후처리 트랜스코더를 포함한다.
트랜스코딩, 양자화 수준, 움직임 벡터, 영상 정보, 호처리 장치.
An improved image transcoder and image transcoding method are disclosed. An improved image transcoder includes a preprocessing transcoder that decodes an image and transmits it to an image information queue; A video information queue for storing video information of the video; Identify a coding type included in the image information, and if the coding type is not intra, select a quantization level and a motion vector corresponding to the image information, and based on the selected quantization level and the motion vector, And a post-processing transcoder that encodes.
Transcoding, quantization level, motion vector, image information, call processing device.
Description
본 발명은 개선된 영상 트랜스코더 및 영상 트랜스코딩 방법에 관한 것으로, 더욱 상세하게는 영상 정보에 대응하는 움직임 벡터를 개선하고, 영상 트랜스코더에 맞는 양자화 수준을 선택함으로써 화질을 개선하고 계산량을 감소할 수 있는 영상 트랜스코더 및 방법에 관한 것이다.The present invention relates to an improved image transcoder and an image transcoding method, and more particularly, to improve a motion vector corresponding to image information and to select a quantization level suitable for the image transcoder, thereby improving image quality and reducing computation amount. An image transcoder and method are disclosed.
영상 트랜스코딩 방법은 입력된 영상 스트림(video stream)을 디코딩하여 다른 크기, 다른 화면 재생율(frame rate), 다른 비트율(bit rate), 다른 표준문법(standard syntax)을 갖는 스트림으로 재인코딩 하는 방법이다.The video transcoding method is a method of decoding an input video stream and re-encoding it into a stream having a different size, different frame rate, different bit rate, and different standard syntax. .
그러나 종래의 닫힌 영상 트랜스코더(close-loop video transcoder)들은 트랜스코더의 인코더에서 입력된 영상 스트림의 움직임 벡터(motion vector)를 재 사용할 때 표준 문법(standard syntax)를 고려하지 않고, 비트율을 제어할 경우에 입력된 영상 스트림의 양자화 수준(quantization level)을 적절히 이용하지 못하여 화질 저하를 초래할 수 있는 문제가 있었다.However, the conventional close-loop video transcoders do not consider the standard syntax when reusing the motion vector of the video stream input from the encoder of the transcoder and control the bit rate. In this case, there is a problem that the image quality may be degraded because the quantization level of the input video stream may not be properly used.
따라서 움직임 벡터를 재사용하고, 영상 트랜스코더에 맞는 양자화 수준 선 택하여 화질을 개선하고 계산량을 감소하는 장치 및 방법이 필요한 실정이다. Therefore, there is a need for an apparatus and method for reusing a motion vector and selecting a quantization level suitable for an image transcoder to improve image quality and reduce computation.
본 발명은 영상 정보에 대응하는 움직임 벡터를 개선하고, 영상 트랜스코더에 맞는 양자화 수준을 선택함으로써 화질을 개선하고 계산량을 감소할 수 있는 영상 트랜스코더를 제공한다. The present invention provides an image transcoder that can improve image quality and reduce computation by improving a motion vector corresponding to image information and selecting a quantization level suitable for the image transcoder.
본 발명의 일실시예에 따른 영상 트랜스코더는 영상을 디코딩하여 영상 정보 큐에 전송하는 전처리 트랜스코더; 상기 영상의 영상 정보를 저장하는 영상 정보 큐; 및 상기 영상 정보에 포함된 코딩 타입을 확인하고, 상기 코딩 타입이 인트라(intra)가 아니면 상기 영상 정보에 대응하는 양자화 수준과 움직임 벡터를 선택하며, 선택한 양자화 수준과 움직임 벡터를 기초로 상기 영상 정보를 인코딩하는 후처리 트랜스코더를 포함한다.An image transcoder according to an embodiment of the present invention includes a preprocessing transcoder for decoding an image and transmitting the image to a video information queue; A video information queue for storing video information of the video; Identify a coding type included in the image information, and if the coding type is not intra, select a quantization level and a motion vector corresponding to the image information, and based on the selected quantization level and the motion vector, And a post-processing transcoder that encodes.
본 발명의 일실시예에 따른 영상 트랜스코딩 방법은 입력되는 영상을 디코딩하여 영상 정보 큐에 전송하는 단계; 상기 영상 정보 큐에 상기 영상의 영상 정보를 저장하는 단계; 상기 영상 정보의 코딩 타입을 확인하는 단계; 상기 코딩 타입이 인트라(intra)가 아니면 상기 영상 정보에 대응하는 양자화 수준과 움직임 벡터를 선택하는 단계; 및 선택된 양자화 수준과 움직임 벡터를 기초로 상기 영상 정보를 인코딩하는 단계를 포함한다.An image transcoding method according to an embodiment of the present invention comprises the steps of: decoding an input image and transmitting the received image to a video information queue; Storing image information of the image in the image information queue; Checking a coding type of the image information; Selecting a quantization level and a motion vector corresponding to the image information if the coding type is not intra; And encoding the image information based on the selected quantization level and the motion vector.
본 발명에 따르면 영상 정보에 대응하는 움직임 벡터를 개선하고, 영상 트랜 스코더에 맞는 양자화 수준을 선택함으로써 화질을 개선하고 계산량을 감소할 수 있다. According to the present invention, the image quality can be improved and the amount of calculation can be reduced by improving the motion vector corresponding to the image information and selecting a quantization level suitable for the image transcoder.
이하 첨부된 도면을 참조하여 본 발명에 따른 다양한 실시예를 상세히 설명하기로 한다.Hereinafter, various embodiments of the present disclosure will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일실시예에 따른 영상 트랜스코더의 개괄적인 모습을 도시한 일례다. 1 is an example showing an overview of an image transcoder according to an embodiment of the present invention.
본 발명의 일실시예에 따른 영상 트랜스코더는 도 1에 도시된 바와 같이 전처리 트랜스코더(110), 영상 처리 큐(120), 및 후처리 트랜스코더(130)로 구성될 수 있다. As illustrated in FIG. 1, an image transcoder according to an exemplary embodiment of the present invention may include a
전처리 트랜스코더(110)는 사용자로부터 입력되는 영상을 디코딩하여 영상 정보 큐(120)에 전송할 수 있다. 이때, 전처리 트랜스코더(110)는 화면 재생율이 변경되는 경우에 드랍되지 않는 영상에 한하여 후처리 필터(Post-Filter)를 적용할 수 있다.The
전처리 트랜스코더(110)의 구성은 이하 도 2를 사용하여 상세히 후술한다.The configuration of the preprocessing
영상 처리 큐(120)는 전처리 트랜스코더(110)로부터 전송된 상기 영상의 영상 정보를 저장할 수 있다. 이때, 영상 처리 큐(120)에 저장되는 영상 정보는 상기 영상의 움직임 벡터, 양자화 수준, 영상 및 화면 재생율이 변경되는 경우에 드랍된 화면의 식별 정보를 포함할 수 있다. 이때, 상기 영상은 화면 재생율이 변경되는 경우에도 드랍되지 않은 화면들의 영상일 수 있다.The
또한, 영상 처리 큐(120)는 상기 화면 재생율이 변경되는 경우에만 저장되는 정보가 누적될 수 있다.In addition, the
후처리 트랜스코더(130)는 상기 영상 정보에 포함된 코딩 타입을 확인하고, 상기 코딩 타입이 인트라(intra)가 아니면 상기 영상 정보에 대응하는 양자화 수준과 움직임 벡터를 선택하며, 선택한 양자화 수준과 움직임 벡터를 기초로 상기 영상 정보를 인코딩할 수 있다.The
이때, 후처리 트랜스코더(130)는 상기 영상 정보의 화면 재생율에 대응하는 타이머 이벤트 기반으로 동작할 수 있다. 또한, 후처리 트랜스코더(130)는 상기 코딩 타입이 인트라(intra)면 양자화 수준과 움직임 벡터를 선택하지 않고 바로 인코딩을 할 수도 있다.In this case, the
후처리 트랜스코더(130)의 구성은 이하 도 3을 사용하여 상세히 후술한다.The configuration of the
도 2는 본 발명의 일실시예에 따른 전처리 트랜스코더(110)의 개괄적인 모습을 도시한 일례다. 2 is an example showing an overview of the preprocessing
전처리 트랜스코더(110)는 도 2에 도시된 바와 같이 영상 디코더(210), 드랍 화면 선택부(220) 및 영상 후처리 필터(230)로 구성될 수 있다.As illustrated in FIG. 2, the
영상 디코더(DEC: video DECoder)(210)는 사용자로부터 입력되는 영상을 디코딩할 수 있다. 이때, 영상 디코더(210)는 상기 영상을 디코딩하면서 움직임 벡터와 코딩 타입 및 양자화 수준에 대한 정보를 추출하여 부가 정보로 저장할 수 있다. The video decoder (DEC: video DECoder) 210 may decode an image input from a user. In this case, the
일례로 영상 디코더(210)는 H 263, MPEG4 Visual과 같은 표준 영상 디코더로 구성될 수 있다.For example, the
드랍 화면 선택부(FDD: Frame Dropping Decision)(220)는 화면 재생율이 변경되는지를 확인하고, 화면 재생율이 변경되는 경우에는 변경되는 화면 재생율에 기초하여 상기 영상 중에서 드랍할 화면을 선택할 수 있다.The drop screen selection unit (FDD) 220 may determine whether the screen refresh rate is changed, and select a screen to be dropped from the image based on the changed screen refresh rate when the screen refresh rate is changed.
이때, 드랍 화면 선택부(220)는 드랍하는 것으로 선택한 화면의 영상을 삭제하고, 상기 드랍하는 것으로 선택한 화면의 부가 정보 및 상기 드랍하는 것으로 선택한 화면이 드랍할 화면이라는 식별 정보를 영상 정보 큐(120)로 전송할 수 있다.In this case, the drop
또한, 드랍 화면 선택부(220)는 드랍하지 않는 것으로 선택한 화면의 영상을 영상 후처리 필터(230)로 전송할 수 있다.Also, the drop
영상 후처리 필터(Image post-processing FILTER)(230)는 드랍 화면 선택부(220)에서 전송된 화면의 영상의 화질을 개선하거나, 부가 기능을 추가하여 영상 정보 큐(120)로 전송할 수 있다.The
일례로 영상 후처리 필터(230)는 디블록킹 필터(Deblocking filter)를 사용하여 영상의 화질을 개선할 수도 있고, 텍스트 오버레이 필터(Text-overlay filter)를 사용하여 상기 영상에 텍스트를 삽입할 수도 있으며, 디블록킹 필터와 텍스트 오버레이 필터를 동시에 사용하여 화질을 개선하면서 텍스트를 삽입할 수도 있다.For example, the
도 3은 본 발명의 일실시예에 따른 후처리 트랜스코더(130)의 개괄적인 모습을 도시한 일례다. Figure 3 is an example showing an overview of the
후처리 트랜스코더(130)는 도 3에 도시된 바와 같이 화면 코딩 타입 결정 부(310), 제1 트렌스코딩 요소 선택부(320), 화면 크기 변경부(330), 제2 트렌스코딩 요소 선택부(340), 움직임 벡터 개선부(350), 및 영상 인코더(360)로 구성될 수 있다.The
화면 코딩 타입 결정부(PTD: Picture coding Type Decision)(310)는 영상 정보 큐(120)로부터 전송된 상기 영상 정보에 포함된 코딩 타입에 따라 상기 영상 정보를 표시할 화면의 코딩 타입을 결정할 수 있다.The picture coding type decision unit (PTD) 310 may determine a coding type of a screen on which the image information is to be displayed according to a coding type included in the image information transmitted from the
이때, 화면 코딩 타입 결정부(310)는 상기 코딩 타입이 인트라(intra)이면 상기 영상 정보를 화면 크기 변경부(330)를 통하여 영상 인코더(360)로 전송하여 바로 인코딩을 할 수 있다. 이때, 화면 크기 변경부(330)에서 화면 크기가 변경되지 않으면, 영상 인코더(360)는 영상 정보 큐(120)로부터 전송된 상기 영상 정보를 그대로 인코딩할 수 있다.In this case, if the coding type is intra, the screen
또한, 화면 코딩 타입 결정부(310)는 상기 코딩 타입이 인터(inter)이면, 상기 영상 정보를 제1 트랜스코딩 요소 선택부(320)로 전송할 수 있다.In addition, when the coding type is inter, the screen
이때, 영상 정보 큐(120)로부터 전송된 상기 영상 정보는 가장 최근에 영상 인코더(360)에서 인코딩된 화면의 다음 화면인 P1부터 현재 인코딩될 화면 Pn을 포함할 수 있다. 이때, k가 1 내지 n이라 하면 상기 영상 정보는 Pk로 표시될 수 있다.In this case, the image information transmitted from the
이때, 각각의 화면은 영상과 각 매크로 블록 mbij의 움직임 벡터 mvij를 포함할 수 있다. 이때, i와 j는 상기 매크로 블록의 좌표 값일 수 있다.In this case, each screen may include an image and a motion vector mv ij of each macro block mb ij . In this case, i and j may be coordinate values of the macro block.
제1 트랜스코딩 요소 선택부(TTES: Temporal Transcoding Elements Selection)(320)는 상기 영상 정보의 시간적 변화에 대응하여 영상 인코더(360)에서 사용될 기본 움직임 벡터(base motion vector)와 기본 양자화 수준(base quantization level)을 선택할 수 있다.A first transcoding element selection unit (TTES) 320 is a base motion vector and a base quantization level to be used in the
이때, 제1 트랜스코딩 요소 선택부(320)는 드랍된 화면의 움직임 벡터를 사용하여 실제로 참조하게 되는 화면의 상기 기본 움직임 벡터를 선택하고, 드랍되지 않아 실제로 참조하게 되는 화면의 양자화 수준을 상기 기본 양자화 수준으로 선택할 수 있다.In this case, the first
제1 트랜스코딩 요소 선택부(320)는 움직임 벡터 mvij를 사용하여 Pm의 mbxy에 mv를 적용하여 Pn을 참조할 때의 절대값의 합이 최소가 되는 mv를 상기 기본 움직임 벡터로 선택할 수 있다.The first
먼저, 트랜스코딩 요소 선택부(320)는 mvn 을 mv(Pn, i, j) 로 설정할 수 있다.First, the
이때, mv(Pk, x, y)는 Pn의 (x, y)에 위치한 매크로블록의 움직임 벡터일 수 있다.In this case, mv (P k , x, y) may be a motion vector of a macroblock located at (x, y) of P n .
다음으로 트랜스코딩 요소 선택부(320)는 mvn로 참조한 Pn -1의 영역에 겹쳐지는 매크로블록(1 내지 m)들의 mv(Pn -1, x, y)를 후보 움직임 벡터 cmvk 라 설정할 수 있다.Next, the
이때, k는1 내지 m이고, 겹쳐지는 영역의 넓이를 wk 라 설정할 수 있다.In this case, k is 1 to m, and the width of the overlapping region may be set as w k .
그 다음에 트랜스코딩 요소 선택부(320)는 상기 후보 움직임 벡터 cmvk와 겹쳐지는 영역의 넓이 wk을 하기된 수학식 1에 적용하여 가중 평균 움직임 벡터를 계산할 수 있다.
그리고, 트랜스코딩 요소 선택부(320)는 n의 값을 1 감소시킨다. 이때, 감소된 n의 값이 1보다 크면 후보 움직임 벡터를 설정하는 단계를 반복할 수 있다.The
마지막으로 트랜스코딩 요소 선택부(320)는 mv1 를 상기 기본 움직임 벡터로 선택할 수 있다.Finally, the
화면 크기 변경부(picture size SCALE)(330)는 상기 영상 정보의 공간적 크기를 변경할 수 있다.The picture
제2 트랜스코딩 요소 선택부(STES: Spatial Transcoding Elements Selection)(340)는 상기 영상 정보의 공간적 변화에 대응하여 영상 인코더(360)에서 사용될 기본 움직임 벡터와 기본 양자화 수준을 선택할 수 있다.The second transcoding element selection unit (STES) 340 may select a basic motion vector and a basic quantization level to be used in the
이때, 제2 트렌스코딩 요소 선택부(340)는 공간적 크기가 변경되기 전의 움직임 벡터를 사용하여 화면 크기 변경부(330)에서 크기가 변경된 영상 정보의 상기 기본 움직임 벡터를 선택하고, 상기 기본 양자화 수준을 초기화할 수 있다.In this case, the second
또한, 제2 트렌스코딩 요소 선택부(340)는 표준 문법에 따른 표현 방법을 다 르게 할 수 있다.In addition, the second
일례로 영상 디코더(210)에 입력되는 영상의 코덱에서 하나의 매크로블록에 4개의 움직임 벡터를 가질 수 있는 V4 모드를 지원하는 경우에 제2 트렌스코딩 요소 선택부(340)는 모든 V4모드 매크로블록의 벡터를 1개로 병합할 수 있다. For example, when the codec of the image input to the
이때, 영상 인코더(360)에서 인코딩되는 영상의 코덱에서 V4모드를 지원하면, 제2 트렌스코딩 요소 선택부(340)는 4개의 V모드 매크로블록은 1개의 4V모드 매크로블록으로 표현할 수 있다.In this case, if the video codec of the video encoded by the
반면에 영상 인코더(360)에서 인코딩되는 영상의 코덱에서 V4모드를 지원하지 않으면, 제2 트렌스코딩 요소 선택부(340)는 4개의 V모드 매크로블록의 벡터를 1개로 병합하여 표현할 수 있다.On the other hand, if the codec of the image encoded by the
또한, 영상 디코더(210)에 입력되는 영상의 코덱에서 V4 모드를 지원하지 않고, 영상 인코더(360)에서 인코딩되는 영상의 코덱에서 V4모드를 지원하면 제2 트렌스코딩 요소 선택부(340)는 4개의 매크로블록을 1개의 4V모드 매크로블록으로 표현할 수 있다.In addition, if the codec of the image input to the
그리고, 영상 디코더(210)에 입력되는 영상의 코덱과 영상 인코더(360)에서 인코딩되는 영상의 코덱에서 모두 V4모드를 지원하지 않으면, 제2 트렌스코딩 요소 선택부(340)는 4개의 매크로블록의 벡터를 1개로 병합하여 표현할 수 있다.In addition, if the codec of the image input to the
움직임 벡터 개선부(BMVR, Basic Motion vector Refinement)(350)는 움직임 벡터를 추정하고, 추정된 움직임 벡터를 기초로 상기 기본 움직임 벡터를 개선할 수 있다. 구체적으로 움직임 벡터 개선부(350)는 제1 트랜스코딩 요소 선택 부(320)이나 제2 트랜스코딩 요소 선택부(340)에서 최종 결정된 기본 움직임 벡터의 정확성을 높이기 위해 아주 작은 탐색영역을 가지는 움직임 벡터 추정(motion vector estimation)을 수행할 수 있다. 이때, 움직임 벡터 개선부(350)는 제1 트랜스코딩 요소 선택부(320)이나 제2 트랜스코딩 요소 선택부(340)에서 선택된 기본 움직임 벡터와 양자화 수준의 변화에 따라 상기 기본 움직임 벡터를 개선할 수 있다.A motion vector refinement unit (BMVR) 350 may estimate a motion vector and improve the basic motion vector based on the estimated motion vector. In detail, the motion
영상 인코더(360)는 움직임 벡터 개선부(350)에서 개선된 기본 움직임 벡터와 상기 기본 양자화 수준을 기초로 상기 영상 정보를 인코딩할 수 있다.The
이때, 영상 인코더(360)는 후보 양자화 수준을 선택하는 비트율 제어 장치를 포함하고, 상기 후보 양자화 수준과 상기 기본 양자화 수준의 최소 공배수를 양자화 수준으로 선택하여 상기 영상 정보를 인코딩할 수 있다. 이때, 상기 최소 공배수는 작을수록 화질 저하를 감소시킬 수 있다.In this case, the
후처리 트랜스코더(130)에서 제1 트렌스코딩 요소 선택부(320), 화면 크기 변경부(330), 제2 트렌스코딩 요소 선택부(340), 및 움직임 벡터 개선부(350)는 영상 정보 큐(120)에서 전공되는 영상 정보에 따라 모두 동작할 수도 있고, 모두 동작하지 않고, 화면 코딩 타입 결정부(310)에서 바로 영상 인코더부(360)가 동작할 수도 있으며 일부만 동작할 수도 있다.In the
도 4는 본 발명의 일실시예에 따른 제1 트랜스코딩 요소 선택부(320)의 움직임 벡터를 선택하는 과정의 일례를 도시한 도면이다.4 is a diagram illustrating an example of a process of selecting a motion vector of the first
제1 트랜스코딩 요소 선택부(320)는 가장 최근에 영상 인코더(360)에서 인코 딩된 화면(410)과 드랍될 화면(420)을 참고하여 현재 인코딩될 화면(430)의 움직임 벡터를 추출할 수 있다.The first
도 4에 도시된 바와 같이 현재 인코딩될 화면(430)의 매크로 블록(431)이 있을 경우에 제1 트랜스코딩 요소 선택부(320)는 드랍될 화면(420)에서 매크로 블록(431)에 대응하는 영역(440)를 확인하고, 영역(440)이 겹쳐진 드랍될 화면(420)의 매크로 블록(421, 423, 425, 427)을 확인할 수 있다.As shown in FIG. 4, when there is a
다음으로, 제1 트랜스코딩 요소 선택부(320)는 매크로 블록(421, 423, 425, 427)들의 움직임 벡터(422, 424, 426, 428)를 통합하여 매크로 블록(431)의 움직임 벡터(432)를 선택할 수 있다.Next, the first
이때, 움직임 벡터(422, 424, 426, 428)는 인코딩된 화면(410)의 매크로 블록(411, 413, 415, 417)을 가리키는 움직임 벡터일 수 있다.In this case, the
또한, 제1 트랜스코딩 요소 선택부(320)는 영역(440)과 매크로 블록(421, 423, 425, 427)와 겹쳐지는 구역의 크기에 따라 해당하는 매크로 블록의 움직임 벡터에 가중치를 부여하여 통합할 수 있다.In addition, the first
도 4를 참고하면 제1 트랜스코딩 요소 선택부(320)는 영역(440)이 매크로 블록(423)과 겹쳐진 구간(443)이 가장 넓은 매크로 블록(423)의 움직임 벡터(424)에 가장 큰 가중치를 부여할 수 있다. 반면에 영역(440)이 매크로 블록(423)과 겹쳐진 구간(443)이 가장 좁은 매크로 블록(425)의 움직임 벡터(426)에 가장 적은 가중치를 부여할 수도 있다.Referring to FIG. 4, the first
도 5는 본 발명의 일실시예에 따른 제2 트랜스코딩 요소 선택부(340)의 움직 임 벡터를 선택하는 과정의 일례를 도시한 도면이다.5 is a diagram illustrating an example of a process of selecting a motion vector of the second
먼저, 제2 트랜스코딩 요소 선택부(340)는 도 5에 도시된 바와 같이 각각의 매크로 블록(511, 513, 515, 517)에 대응하는 움직임 벡터(512, 514, 516, 518)를 사분면별로 구분할 수 있다(510).First, as illustrated in FIG. 5, the second
다음으로, 제2 트랜스코딩 요소 선택부(340)는 사분면별로 구분된 움직임 벡터끼리 평균 벡터를 구한다(520). 구체적으로 같은 사분면에 위치한 움직임 벡터(512)와 움직임 벡터(516)의 평균 벡터(521)를 구하고, 움직임 벡터(514)와 움직임 벡터(518)의 평균 벡터(522)를 구할 수 있다.Next, the second
이때, 제2 트랜스코딩 요소 선택부(340)는 움직임 벡터(521, 522)들 중에 움직임 벡터(512, 514, 516, 518)와 오차가 가장 작은 움직임 벡터를 선택할 수 있다.In this case, the second
도 6은 본 발명의 일실시예에 따른 영상 트랜스코딩 방법을 나타낸 동작 흐름도이다. 6 is a flowchart illustrating an image transcoding method according to an embodiment of the present invention.
단계(S610)에서 전처리 트랜스코더(110)는 영상을 디코딩하여 영상 정보 큐(120)에 전송할 수 있다.In operation S610, the
이때, 전처리 트랜스코더(110)는 화면 재생율이 변경되는지를 확인하고, 화면 재생율이 변경되는 경우에는 변경되는 화면 재생율에 기초하여 상기 영상 중에서 드랍할 화면을 선택하며, 드랍되지 않은 화면을 후처리 필터에 통과시켜 영상 정보 큐(120)로 전송할 수 있다.At this time, the
단계(S620)에서 화면 코딩 타입 결정부(310)는 상기 영상 정보에 포함된 코 딩 타입에 따라 상기 영상 정보를 표시할 화면의 코딩 타입을 결정할 수 있다.In operation S620, the screen
단계(S630)에서 화면 코딩 타입 결정부(310)는 단계(S620)에서 결정된 코딩 타입이 인트라(intra)인지를 확인할 수 있다. 이때, 단계(S620)에서 결정된 코딩 타입이 인트라(intra)이면, 화면의 크기를 변경하는 단계(S655)로 진행할 수 있다.In operation S630, the screen
단계(S640)에서 제1 트랜스코딩 요소 선택부(320)는 상기 영상 정보의 시간적 변화에 대응하여 기본 움직임 벡터와 기본 양자화 수준을 선택할 수 있다.In operation S640, the first
구체적으로, 제1 트랜스코딩 요소 선택부(320)는 단계(S610)에서 드랍된 화면의 움직임 벡터를 사용하여 실제로 참조하게 되는 화면의 상기 기본 움직임 벡터를 선택하고, 드랍되지 않아 실제로 참조하게 되는 화면의 양자화 수준을 상기 기본 양자화 수준으로 선택할 수 있다.In detail, the first
단계(S650)에서 화면 크기 변경부(330)는 단계(S640)에서 기본 움직임 벡터와 기본 양자화 수준을 선택한 화면의 크기를 변화할 수 있다.In operation S650, the screen
단계(S655)에서 화면 크기 변경부(330)는 상기 영상 정보에 포함된 화면의 크기를 변화할 수 있다.In operation S655, the screen
단계(S660)에서 제2 트랜스코딩 요소 선택부(340)는 상기 영상 정보의 공간적 변화에 대응하여 기본 움직임 벡터와 기본 양자화 수준을 선택할 수 있다.In operation S660, the second
구체적으로, 제2 트랜스코딩 요소 선택부(340)는 단계(S650)에서 공간적 크기가 변경되기 전의 움직임 벡터를 사용하여 단계(S650)에서 크기가 변경된 영상 정보의 상기 기본 움직임 벡터를 선택하고, 상기 기본 양자화 수준을 초기화할 수 있다.In detail, the second
단계(S670)에서 움직임 벡터 개선부(350)는 움직임 벡터를 추정하고, 추정된 움직임 벡터를 기초로 상기 기본 움직임 벡터를 개선할 수 있다.In operation S670, the motion
단계(S680)에서 영상 인코더(360)는 영상을 인코딩 할 수 있다. 이때, 영상 인코더(360)은 단계(S670)을 실행한 영상의 경우에 움직임 벡터 개선부(350)에서 개선된 기본 움직임 벡터와 상기 기본 양자화 수준을 기초로 상기 영상 정보를 인코딩할 수 있다.In operation S680, the
또한, 영상 인코더(360)는 비트율 제어 장치로 후보 양자화 수준을 선택하고, 상기 후보 양자화 수준과 상기 기본 양자화 수준의 최소 공배수를 양자화 수준으로 선택하여 상기 영상 정보를 인코딩할 수 있다.In addition, the
그리고, 본 발명에 따른 영상 트랜스코더는 하기된 표 1에 도시된 바와 같이 트랜스 코딩 형태 별로 제안되는 알고리즘 적용을 달리 할 수 있다.And, the image transcoder according to the present invention can vary the application of the proposed algorithm for each transcoding type, as shown in Table 1 below.
또한, 본 발명에 따른 영상 트랜스코더는 다수의 트랜스코더 형태가 조합될 경우 움직임 벡터의 우선 순위를 기본 움직임 벡터 개선이 입력 스트림의 움직임 벡터 그대로 사용하는 것보다 높도록 설정하고, 양자화 수준의 우선 순위를 사용 않함이 1순위, 입력스트림의 양자화 수준을 고려한 선택이 2순위 입력스트림의 양자화 수준 그대로 이용하는 것이 3순위가 되도록 설정할 수도 있다.In addition, the video transcoder according to the present invention sets the priority of the motion vector when the multiple transcoder types are combined so that the basic motion vector improvement is higher than using the motion vector of the input stream as it is, and the priority of the quantization level. It is also possible to set not to use the first order, and the selection considering the quantization level of the input stream is to use the quantization level of the second order input stream as it is.
이상에서 설명한 바와 같이, 본 발명에 따른 영상 트랜스코더는 영상 정보에 대응하는 움직임 벡터를 개선하고, 영상 트랜스코더에 맞는 양자화 수준을 선택함으로써 화질을 개선하고 계산량을 감소할 수 있는 영상 트랜스코더를 제공한다. As described above, the image transcoder according to the present invention improves the motion vector corresponding to the image information, and provides an image transcoder capable of improving the image quality and reducing the calculation amount by selecting a quantization level suitable for the image transcoder. do.
또한, 본 발명에 따른 영상 트랜스코더는 독립적인 기능들로 구성되어, 구현 복잡도를 최소화할 수 있다.In addition, the image transcoder according to the present invention may be configured with independent functions, thereby minimizing implementation complexity.
본 발명에 따른 실시예들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 파일 데이터, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(Floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Embodiments according to the present invention can be implemented in the form of program instructions that can be executed by various computer means can be recorded on a computer readable medium. The computer readable medium may include program instructions, file data, data structures, etc. alone or in combination. Program instructions recorded on the media may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.As described above, the present invention has been described by specific embodiments such as specific components and the like. For those skilled in the art to which the present invention pertains, various modifications and variations are possible.
따라서 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Therefore, the spirit of the present invention should not be construed as being limited to the described embodiments, and all of the equivalents or equivalents of the claims, as well as the following claims, are included in the scope of the present invention.
도 1은 본 발명의 일실시예에 따른 영상 트랜스코더의 개괄적인 모습을 도시한 일례다. 1 is an example showing an overview of an image transcoder according to an embodiment of the present invention.
도 2는 본 발명의 일실시예에 따른 전처리 트랜스코더(110)의 개괄적인 모습을 도시한 일례다.2 is an example showing an overview of the
도 3은 본 발명의 일실시예에 따른 후처리 트랜스코더(130)의 개괄적인 모습을 도시한 일례다. Figure 3 is an example showing an overview of the
도 4는 본 발명의 일실시예에 따른 제1 트랜스코딩 요소 선택부(320)의 움직임 벡터를 선택하는 과정의 일례를 도시한 도면이다.4 is a diagram illustrating an example of a process of selecting a motion vector of the first
도 5는 본 발명의 일실시예에 따른 제2 트랜스코딩 요소 선택부(340)의 움직임 벡터를 선택하는 과정의 일례를 도시한 도면이다.5 is a diagram illustrating an example of a process of selecting a motion vector of the second
도 6은 본 발명의 일실시예에 따른 영상 트랜스코딩 방법을 나타낸 동작 흐름도이다. 6 is a flowchart illustrating an image transcoding method according to an embodiment of the present invention.
Claims (24)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090050991A KR101045191B1 (en) | 2009-06-09 | 2009-06-09 | Improved image transcoder and transcoding method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090050991A KR101045191B1 (en) | 2009-06-09 | 2009-06-09 | Improved image transcoder and transcoding method |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100132262A KR20100132262A (en) | 2010-12-17 |
KR101045191B1 true KR101045191B1 (en) | 2011-06-30 |
Family
ID=43507972
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090050991A KR101045191B1 (en) | 2009-06-09 | 2009-06-09 | Improved image transcoder and transcoding method |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101045191B1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060045719A (en) * | 2004-04-15 | 2006-05-17 | 마이크로소프트 코포레이션 | High-fidelity transcoding |
JP2007235989A (en) | 2007-04-18 | 2007-09-13 | Sony Corp | Image processing apparatus and image processing method, program, and recording medium |
KR100766740B1 (en) * | 1998-03-10 | 2007-10-12 | 소니 가부시끼 가이샤 | Apparatus and method for converting data using encoding history information |
-
2009
- 2009-06-09 KR KR1020090050991A patent/KR101045191B1/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100766740B1 (en) * | 1998-03-10 | 2007-10-12 | 소니 가부시끼 가이샤 | Apparatus and method for converting data using encoding history information |
KR20060045719A (en) * | 2004-04-15 | 2006-05-17 | 마이크로소프트 코포레이션 | High-fidelity transcoding |
JP2007235989A (en) | 2007-04-18 | 2007-09-13 | Sony Corp | Image processing apparatus and image processing method, program, and recording medium |
Also Published As
Publication number | Publication date |
---|---|
KR20100132262A (en) | 2010-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI719542B (en) | Video encoding/decoding method and apparatus | |
US8208557B2 (en) | Video encoding and decoding method and apparatus using weighted prediction | |
JP5580453B2 (en) | Direct mode encoding and decoding apparatus | |
US9788019B2 (en) | Method and apparatus of transform unit partition with reduced complexity | |
US9756336B2 (en) | Method of background residual prediction for video coding | |
KR101715833B1 (en) | Method and encoder for video encoding of a sequence of frames | |
US8630351B2 (en) | Method and apparatus for encoding and decoding motion vector | |
RU2559737C2 (en) | Method and device for coding/decoding of movement vector | |
US8718138B2 (en) | Image encoding apparatus and image encoding method that determine an encoding method, to be used for a block to be encoded, on the basis of an intra-frame-prediction evaluation value calculated using prediction errors between selected reference pixels and an input image | |
JP2019041418A5 (en) | ||
US9307241B2 (en) | Video encoding method and a video encoding apparatus using the same | |
JP2009526436A (en) | Method and apparatus for reusing motion information available as a predictor of motion prediction for video coding | |
US10715811B2 (en) | Method and apparatus for determining merge mode | |
JP5216710B2 (en) | Decryption processing method | |
JP2015515201A (en) | Method and apparatus for encoding a selected spatial portion of a video stream | |
KR20150023323A (en) | Systems and methods for the reuse of encoding information in encoding alternative streams of video data | |
JP2013502140A (en) | Video encoding and decoding method and apparatus using adjustment of accuracy of motion vector | |
JP2016154395A (en) | Method and apparatus for encoding/decoding video using motion vector of previous block as motion vector for current block | |
JP2007166521A (en) | Moving image re-encoding method and apparatus | |
JP5748225B2 (en) | Moving picture coding method, moving picture coding apparatus, and moving picture coding program | |
JP2009089267A (en) | Method and device for intra predictive coding, and program | |
KR101045191B1 (en) | Improved image transcoder and transcoding method | |
CN104717511B (en) | Video coding or decoded method and device | |
US20100322316A1 (en) | Moving-picture encoding apparatus and decoding apparatus | |
JP2012120108A (en) | Interpolation image generating apparatus and program, and moving image decoding device and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20141201 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20160603 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20170619 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20180419 Year of fee payment: 8 |