KR20000043959A - Video player and method for controlling fast forward of video player - Google Patents

Video player and method for controlling fast forward of video player Download PDF

Info

Publication number
KR20000043959A
KR20000043959A KR1019980060397A KR19980060397A KR20000043959A KR 20000043959 A KR20000043959 A KR 20000043959A KR 1019980060397 A KR1019980060397 A KR 1019980060397A KR 19980060397 A KR19980060397 A KR 19980060397A KR 20000043959 A KR20000043959 A KR 20000043959A
Authority
KR
South Korea
Prior art keywords
bitstream
picture
error code
video
dsm
Prior art date
Application number
KR1019980060397A
Other languages
Korean (ko)
Other versions
KR100525373B1 (en
Inventor
류화영
Original Assignee
구자홍
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구자홍, 엘지전자 주식회사 filed Critical 구자홍
Priority to KR10-1998-0060397A priority Critical patent/KR100525373B1/en
Publication of KR20000043959A publication Critical patent/KR20000043959A/en
Application granted granted Critical
Publication of KR100525373B1 publication Critical patent/KR100525373B1/en

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B19/00Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
    • G11B19/20Driving; Starting; Stopping; Control thereof
    • G11B19/28Speed controlling, regulating, or indicating
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/114Adapting the group of pictures [GOP] structure, e.g. number of B-frames between two anchor frames
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/10629Data buffering arrangements, e.g. recording or playback buffers the buffer having a specific structure
    • G11B2020/10638First-in-first-out memories [FIFO] buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2562DVDs [digital versatile discs]; Digital video discs; MMCDs; HDCDs

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

PURPOSE: A method for controlling the FF(fast forward) of a video player is provided to easily adjust the speed of the FF by controlling the amount of read data. CONSTITUTION: In an FF mode, front parts of each GOP(group of picture) are read from a bit stream stored in a DSM(digital storage media)(12). An error code is inputted between the GOP potions for outputting a skipped bit steam. Header start code(h_stc) and error code(e_stc) of each picture are detected from the skipped bit stream. An incomplete picture bit stream is eliminated by using a video buffer(15). A normal decoding is performed by receiving the picture-aligned bit stream. In outputting the skipped bit stream, the amount of bit stream read from the GOP potions is differentiated depending on FF speed.

Description

비디오 플레이어 및 비디오 플레이어의 고속 감기 제어 방법How to control fast forwarding of the video player and the video player

본 발명은 엠펙(Moving Picture Experts Group ; MPEG) 비디오 플레이어에 관한 것으로서, 특히 비디오 플레이어의 고속 감기 제어 방법에 관한 것이다.TECHNICAL FIELD The present invention relates to a moving picture expert group (MPEG) video player, and more particularly, to a fast forward control method of a video player.

통상, DVD(Digital Versatile Disc), DVCR(Digital Video Cassette Recorder)등 영상을 압축하여 저장하는 디지털 저장 매체(Digital Storage Media ; DSM)의 비디오 플레이어에서는 기존의 아날로그 영상 저장 매체의 비디오 플레이어와 같이 고속 감기(fast forward ; FF), 슬로우 모션(slow motion), 스틸(still)등과 같은 트릭 모드(trick mode) 기능을 필요로 한다.In general, a video player of a digital storage medium (DSM) that compresses and stores a video such as a DVD (Digital Versatile Disc) or a DVCR (Digital Video Cassette Recorder) is fast-forward like a video player of a conventional analog video storage medium. It requires trick mode functions such as fast forward (FF), slow motion, still, and so on.

이때, DSM의 비트스트림 리드부와 비트스트림 디코딩부는 기능이 서로 상이하기 때문에 독립적으로 구현된다. 특히, 이러한 부분이 단일 주문형 집적회로(ASIC)화되고 있는 현재는 더더욱 그렇다. 이때, 노말 재생의 경우는 이러한 것이 큰 문제가 없으나 트릭 모드의 경우에는 독립적으로 동작하여서는 구현이 어렵다. 따라서, 트릭 모드의 경우 각 부분은 다른 한쪽을 고려하여 설계가 되어야 하며, 실제 동작시는 하나의 호스트 마이크로 프로세서가 있어 각 트릭 모드마다 양쪽을 적절히 제어해 주어야 하는 어려움이 있다.In this case, since the functions of the bitstream read portion and the bitstream decoding portion of the DSM are different from each other, they are independently implemented. This is especially true now that this is becoming a single application specific integrated circuit (ASIC). At this time, in the case of normal playback, this is not a big problem, but in the case of trick mode, it is difficult to implement by operating independently. Therefore, in the case of trick mode, each part should be designed in consideration of the other side, and in actual operation, there is a host microprocessor, and thus there is a difficulty in controlling both sides properly for each trick mode.

특히, 제어가 복잡한 FF 기능은 디지털 영상 데이터를 MPEG 비디오 압축 규격에 따라 압축하여 저장하는 구조로 인하여 단순한 고속 리딩(fast reading)과 고속 디코딩(fast decoding)만으로 구현되기 어렵다.In particular, the complicated control of the FF function is difficult to be implemented by simple fast reading and fast decoding due to the structure of compressing and storing digital image data according to the MPEG video compression standard.

즉, DSM의 고속 리딩은 일반적으로 리드하는 속도가 제한되어 있기 때문에 FF의 속도가 제한을 받는다. 따라서, 이것을 극복하기 위하여 데이터를 임의로 스킵하면서 리드하면 MPEG의 비트스트림 구조상 화면 에러가 발생한다.That is, the fast reading of the DSM is generally limited in the speed of FF because the speed of reading is limited. Therefore, in order to overcome this, if the data is read while skipping arbitrarily, a picture error occurs due to the bitstream structure of MPEG.

또한, 고속 디코딩도 FF 속도만큼의 고속 비디오 디코더가 필요하게 되어 현실적으로 문제가 있다.In addition, high speed decoding also requires a high speed video decoder equal to the FF rate, which is a problem in reality.

이것을 극복하기 위하여 MPEG의 신택스(syntax) 및 디코딩 에러를 일으키지 않는 범위내에서 디코딩 스킵을 이용하여 FF를 구현하기도 하는데 이 또한 FF의 속도에 따라 DSM과 비디오 디코더에 복잡한 제어가 필요하며 MPEG으로 엔코딩된 구조에 따라 많은 제약을 받는다.In order to overcome this, FF is implemented using decoding skip within the syntax and syntax of MPEG, which also requires complex control of DSM and video decoder according to the speed of FF. There are many restrictions depending on the structure.

즉, 비트스트림 중 I 픽쳐와 P 픽쳐만을 디코딩하고 B 픽쳐를 스킵하여 FF를 구현하거나, I 픽쳐만을 디코딩하여 FF를 구현하였다. 그러나 이러한 방법은 MPEG의 구조상 화면 에러를 만들지 않으나 디코딩 스킵을 이용하기 때문에 비디오 디코더 내부에 정상적인 디코딩 모드 외에 추가의 디코딩 모드를 만들어야 하고, 이것을 시스템에서 DSM과 연동하여 제어해 주어야 한다. 또한, 비디오 디코더가 리드된 비트스트림 중에서 해당 픽쳐를 스킵하면서 디코딩하기 때문에 비디오 디코더의 입력 인터페이스의 속도가 증가되어야 하고, 스킵을 하는 시간만큼 비디오 디코더의 퍼포먼스(performance)에 손실이 발생한다.That is, FF is implemented by decoding only I pictures and P pictures and skipping B pictures in the bitstream, or FF by decoding only I pictures. However, this method does not make the picture error due to the structure of MPEG, but since decoding skip is used, an additional decoding mode must be created in addition to the normal decoding mode inside the video decoder, and this must be controlled in conjunction with the DSM in the system. In addition, since the video decoder decodes the corresponding picture among the read bitstreams, the speed of the input interface of the video decoder must be increased, and a loss in the performance of the video decoder occurs by the time of skipping.

본 발명은 상기와 같은 목적을 달성하기 위한 것으로서, 본 발명의 목적은 제어가 단순하면서 FF의 속도 조절이 용이한 비디오 플레이어 및 비디오 플레이어의 FF 제어 방법을 제공함에 있다.The present invention is to achieve the above object, an object of the present invention is to provide a video player and a method of controlling the FF of the video player that is simple to control the speed of the FF.

도 1은 본 발명에 따른 비디오 플레이어의 구성 블록도1 is a block diagram of a video player according to the present invention;

도 2의 (a) 내지 (d)는 도 1에서 고속 감기를 수행하기 위한 각 부의 디코딩 타이밍도(A) to (d) of FIG. 2 are decoding timing diagrams of respective sections for performing fast forward in FIG.

도면의 주요부분에 대한 부호의 설명Explanation of symbols for main parts of the drawings

11 : DSM 제어부 12 : 디지털 저장 미디어(DSM)11: DSM control unit 12: Digital Storage Media (DSM)

13 : STC 검출부 14 : 비디오 버퍼(VB) 제어부13 STC detection unit 14 video buffer (VB) control unit

15 : 비디오 버퍼 16 : 비디오 디코더15: video buffer 16: video decoder

상기와 같은 목적을 달성하기 위한 본 발명에 따른 비디오 플레이어의 FF 제어 방법은, FF 모드가 선택되면 DSM에 저장된 비트스트림 중에 각 GOP의 전반부 일부만을 리드하고 이 사이에 에러 코드를 삽입하여 스킵된 비트스트림을 출력하는 단계와, 상기 스킵된 비트스트림으로부터 각 픽쳐의 헤더 시작 코드와 에러 코드를 검출한 후 비디오 버퍼를 이용하여 불완전한 픽쳐 비트스트림을 제거하는 단계와, 상기 단계로부터 픽쳐 정렬된 비트스트림을 입력받아 정상 디코딩을 수행하는 단계를 포함하여 이루어지는 것을 특징으로 한다.In the FF control method of the video player according to the present invention for achieving the above object, when the FF mode is selected, only a part of the first half of each GOP is read from the bitstream stored in the DSM, and bits skipped by inserting an error code therebetween. Outputting a stream, detecting a header start code and an error code of each picture from the skipped bitstream, and then removing an incomplete picture bitstream using a video buffer, and removing the picture aligned bitstream from the step. And receiving the input and performing normal decoding.

상기 스킵된 비트스트림 출력 단계는 FF 속도에 따라 각 GOP의 전반부에서 리드하는 비트스트림 양을 다르게 하는 것을 특징으로 한다.The skipped bitstream output step may vary the amount of bitstreams read in the first half of each GOP according to the FF rate.

상기 스킵된 비트스트림 출력 단계는 FF 속도에 따라 GOP를 스킵하면서 소정 GOP의 전반부 일부만을 리드하는 것을 특징으로 한다.The skipped bitstream output step may lead to skipping the GOP according to the FF rate and reading only a portion of the first half of the predetermined GOP.

상기 에러 코드는 시퀀스 에러 코드인 것을 특징으로 한다.The error code is characterized in that the sequence error code.

본 발명에 따른 비디오 플레이어는, FF 신호에 따라 상기 DSM에 저장된 비트스트림 중에 GOP의 전반부 일부만을 리드하고 이 사이에 에러 코드를 삽입하여 스킵된 비트스트림을 출력하는 DSM 제어부와, 상기 DSM 제어부를 통해 입력되는 비트스트림으로부터 각 픽쳐의 헤더 시작 코드와 에러 코드를 검출하여 헤더 시작 코드 검출 신호와 에러 코드 검출 신호 그리고, 스킵된 비트스트림을 출력하는 STC 검출부와, 상기 스킵된 비트스트림을 비디오 버퍼에 일시 저장함과 동시에 상기 헤더 시작 코드 검출 신호와 에러 코드 검출 신호에 따라 상기 비디오 버퍼의 라이트 어드레스 포인터를 제어하여 불완전한 픽쳐 비트스트림을 제거하는 비디오 버퍼 제어부와, 상기 비디오 버퍼 제어부를 통해 픽쳐 정렬된 비트스트림을 입력받아 정상적인 디코딩을 수행하는 비디오 디코더로 구성되는 것을 특징으로 하는 한다.According to an embodiment of the present invention, a video player includes a DSM controller for reading only a portion of the first half of a GOP in the bitstream stored in the DSM according to an FF signal, and inserting an error code therebetween to output a skipped bitstream. A STC detector for detecting a header start code and an error code of each picture from the input bitstream and outputting a header start code detection signal and an error code detection signal, and a skipped bitstream, and temporarily skipping the skipped bitstream into a video buffer. And a video buffer controller for controlling the write address pointer of the video buffer to remove an incomplete picture bitstream according to the header start code detection signal and the error code detection signal, and a picture aligned bitstream through the video buffer controller. Take normal input and perform normal decoding And characterized in that it consists of a video decoder.

상기 비디오 버퍼 제어부는 상기 STC 검출부로부터 헤더 시작 코드 검출 신호가 전달될 때마다 그때의 비디오 버퍼의 라이트 어드레스 포인터를 레지스터에 저장하다가 상기 에러 코드 검출 신호가 전달되면 상기 비디오 버퍼의 현재의 라이트 어드레스 포인터 값을 레지스터의 값으로 변환하는 것을 특징으로 한다.The video buffer controller stores the write address pointer of the video buffer in the register each time the header start code detection signal is transmitted from the STC detector, and if the error code detection signal is transmitted, the current write address pointer value of the video buffer. Is converted into a register value.

본 발명의 다른 목적, 특징 및 잇점들은 첨부한 도면을 참조한 실시예들의 상세한 설명을 통해 명백해질 것이다.Other objects, features and advantages of the present invention will become apparent from the following detailed description of embodiments taken in conjunction with the accompanying drawings.

이하, 본 발명의 바람직한 실시예를 첨부도면을 참조하여 상세히 설명한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명에 따른 비디오 플레이어의 구성 블록도로서, MPEG 비디오 비트스트림을 저장하는 DSM(12), FF 신호(FF_v)에 따라 상기 DSM(12)에 저장된 비트스트림 중에 GOP(Group Of Picture)의 전반부 N 바이트만을 읽어내고 이 사이에 에러 코드(error code)를 삽입하여 스킵된 비트스트림을 출력하는 DSM 제어부(11), 상기 DSM 제어부(11)를 통해 입력되는 비트스트림으로부터 헤더 시작 코드(header start code)와 에러 코드(error code)를 검출하고 이에 상응하는 h_stc 타이밍 신호와 e_stc 타이밍 신호 그리고, 스킵된 비디오 비트스트림을 출력하는 STC 검출부(13), 상기 스킵된 비트스트림을 비디오 버퍼(15)에 일시 저장함과 동시에 상기 h_stc 신호와 e_stc 신호에 따라 상기 비디오 버퍼(15)의 라이트 어드레스 포인터를 제어하는 비디오 버퍼(Video buffer ; VB) 제어부(14), 상기 VB 제어부(14)를 통해 입력되는 비트스트림을 일시 저장함과 동시에 상기 VB 제어부(14)의 제어에 의해 픽쳐 정렬된 비트스트림을 출력하는 비디오 버퍼(15), 및 상기 VB 제어부(14)를 통해 픽쳐 정렬된 비트스트림을 입력받아 디코딩을 수행하는 비디오 디코더(16)로 구성된다.1 is a block diagram illustrating a video player according to an embodiment of the present invention, in which a DSM 12 storing an MPEG video bitstream and a group of picture (GOP) in the bitstream stored in the DSM 12 according to an FF signal FF_v The DSM control unit 11 reads only the first N bytes of and inserts an error code therebetween and outputs the skipped bitstream, and the header start code from the bitstream input through the DSM control unit 11. a STC detector 13 which detects a start code and an error code and outputs corresponding h_stc timing signals and e_stc timing signals, and a skipped video bitstream, and converts the skipped bitstream into a video buffer 15. The video buffer (VB) control unit 14 and the VB control unit 14 which temporarily store the data at the same time and control the write address pointer of the video buffer 15 according to the h_stc signal and the e_stc signal. A video buffer 15 for temporarily storing the bitstream input through the video stream 15 and outputting the picture aligned bitstream under the control of the VB control unit 14, and inputs the picture aligned bitstream through the VB control unit 14. And a video decoder 16 that performs decoding.

이와 같이 구성된 본 발명에서, DSM(12)는 DVD나 DVCR와 같은 디지털 저장 미디어로서, DSM 제어부(11)의 제어에 의해 저장되어 있는 MPEG 비디오 비트스트림을 출력한다.In the present invention configured as described above, the DSM 12 outputs an MPEG video bitstream stored under the control of the DSM control unit 11 as a digital storage medium such as DVD or DVCR.

이때, 상기 DSM 제어부(11)는 FF 재생을 수행하기 위하여 FF_v 신호에 따라 DSM(12)에 저장되어 있는 비트스트림 중에 도 2의 (a)와 같이 GOP의 전반부 N 바이트만을 읽어내고 이 사이에 도 2의 (b)와 같이 에러 코드를 삽입하여 스킵된 비트스트림을 STC 검출부(13)로 출력한다.At this time, the DSM control unit 11 reads only the first N bytes of the GOP in the bitstream stored in the DSM 12 according to the FF_v signal to perform FF reproduction, as shown in FIG. An error code is inserted as shown in 2 (b) to output the skipped bitstream to the STC detector 13.

여기서, 상기 FF_v 신호는 FF의 속도를 나타내고 이 FF_v 신호에 따라 N 값이 정해진다. 즉, FF의 속도가 빠를수록 N값은 작아지고 느릴수록 N값은 커진다. 이때, 더욱 높은 FF를 할 경우는 그만큼 GOP를 건너뛰면서 N 바이트를 읽어낸다. 상기 스킵된 비트스트림은 FF_v 신호에 따라 각 GOP에서 N 바이트씩만 읽어내므로 GOP의 마지막 브레이크된 픽쳐가 완전한 픽쳐가 아니라 도 2의 (c)와 같이 일부 잘린 불완전한 픽쳐가 될 수도 있다.Here, the FF_v signal indicates the speed of FF and the value of N is determined according to the FF_v signal. That is, the faster the speed of the FF, the smaller the N value, and the slower the N value, the larger the N value. At this time, when higher FF is performed, N bytes are read while skipping the GOP. Since the skipped bitstream reads only N bytes from each GOP according to the FF_v signal, the last broken picture of the GOP may not be a complete picture but may be a partially cut incomplete picture as shown in FIG.

또한, MPEG에서는 부호화된 영상 데이터가 전후의 픽쳐 데이터를 바탕으로 만들어지기 때문에 한 픽쳐만으로는 정보가 완결되지 않는다. 이 때문에 몇장의 픽쳐 데이터를 한 묶음으로 한 GOP를 단위로 랜덤 억세스가 가능하게 하고 있다.In addition, in MPEG, since encoded video data is generated based on front and rear picture data, information is not completed by only one picture. For this reason, random access is enabled in units of GOPs in which several pieces of picture data are bundled.

상기 GOP 내의 픽쳐 수나 I 또는 P 픽쳐가 나타나는 주기에는 제한이 없고 다만, 비트 영상에서 GOP의 최초는 I 픽쳐라는 규칙이 있다.There is no limit to the number of pictures in the GOP or the period in which I or P pictures appear, but there is a rule that the first of a GOP in a bit picture is an I picture.

따라서, FF 재생시에 GOP의 전반부에서 N 바이트를 읽어내야 도 2의 (c)와 같이 FF 속도에 상관없이 스킵된 비트스트림에 디코딩에 기준이 되는 I 픽쳐가 항상 포함되어 정상적인 디코딩이 이루어진다.Therefore, when FF is reproduced, N bytes must be read from the first half of the GOP, and as shown in (c) of FIG.

즉, FF를 위해 화면들 중 일부 화면만을 선택하여 디코딩을 위해 출력하는데, MPEG에서는 임의로 건너뛰어 디코딩하면 중간의 I 또는 P 픽쳐가 손실이 되어 이 이후의 GOP내의 모든 화면이 깨지게 된다. 따라서, 화면이 깨지지 않도록 하면서 일부만 디코딩하기 위하여 GOP의 전반부의 N 바이트에 대해서만 디코딩하고 후반부는 버리는 것이다.That is, only some of the pictures are selected for FF and output for decoding. In MPEG, when skipped and decoded arbitrarily, intermediate I or P pictures are lost and all subsequent pictures in the GOP are broken. Therefore, only the first half of the GOP is decoded and the second half is discarded in order to decode only part of the screen without breaking the screen.

또한, 상기 에러 코드는 브레이크 포인트(break point)를 VB 제어부(14)에 알려주기 위하여 삽입된다. 여기서, 상기 에러 코드는 비디오 비트스트림의 어디에나 삽입해도 유일(Unique)하게 검출할 수 있는 그런 코드로 예를들어, MPEG의 시퀀스 에러 코드(sequency error code) 같은 것이다. 즉, 상기 MPEG의 시퀀스 에러 코드는 MPEG 규격에 따라 결정되어 있으므로 이를 그대로 사용하면 시스템이 단순해진다.In addition, the error code is inserted to inform the VB control unit 14 of the break point. Here, the error code is such a code that can be uniquely detected even when inserted anywhere in the video bitstream, for example, such as MPEG's sequence error code. That is, since the sequence error code of the MPEG is determined according to the MPEG standard, the system is simplified when used as it is.

한편, STC 검출부(13)는 상기 DSM 제어부(11)를 통해 스킵된 비트스트림을 입력받아 VB 제어부(14)로 출력함과 동시에 상기 스킵된 비트스트림으로부터 헤더 시작 코드와 시퀀스 에러 코드를 검출한 후 이에 대응하는 h_stc 타이밍 신호와 e_stc 타이밍 신호로 만들어 VB 제어부(14)로 출력한다. 여기서, 헤더 시작 코드는 각 픽쳐의 시작을 알리는 코드이다.Meanwhile, the STC detector 13 receives the skipped bitstream through the DSM controller 11 and outputs the skipped bitstream to the VB controller 14 while detecting a header start code and a sequence error code from the skipped bitstream. Corresponding to the h_stc timing signal and the e_stc timing signal and outputting them to the VB control unit 14. Here, the header start code is a code for notifying the start of each picture.

이때, 상기 STC 검출부(13)에서 헤더 시작 코드와 삽입된 시퀀스 에러 코드를 검출하는 목적은 VB 제어부(14)에 이것을 전달함으로써, 스킵된 비트스트림의 각 GOP의 마지막 브레이크된 불완전한 픽쳐를 제거하기 위한 것이다. 이렇게 하지 않고 스킵된 비트스트림을 그대로 비디오 디코더(16)에서 디코딩하게 되면 불완전한 픽쳐에 의해 화면에서 에러가 발생하게 된다.At this time, the purpose of detecting the header start code and the inserted sequence error code in the STC detection unit 13 is to transmit it to the VB control unit 14 to remove the last broken incomplete picture of each GOP of the skipped bitstream. will be. If the skipped bitstream is decoded by the video decoder 16 without doing this, an error occurs on the screen due to an incomplete picture.

상기 VB 제어부(14)는 입력된 비트스트림을 비디오 버퍼(15)에 일시 저장하였다가 다시 읽어 비디오 디코더(16)로 출력한다. 이때, 상기 VB 제어부(14)는 리드 어드레스 포인터와 라이트 어드레스 포인터를 이용하여 비디오 버퍼(15)를 선입선출(First Input First Output ; FIFO)처럼 제어한다.The VB controller 14 temporarily stores the input bitstream in the video buffer 15 and reads it back to the video decoder 16. In this case, the VB controller 14 controls the video buffer 15 as a first input first output (FIFO) using the read address pointer and the write address pointer.

여기서, 상기 라이트 어드레스 포인터는 현재 입력되는 비트스트림이 저장될 비디오 버퍼(15) 내의 어드레스를 지정하고, 일단 한 데이터 워드에 해당되는 비트스트림이 상기 라이트 어드레스 포인터가 지정하는 어드레스에 저장되면 상기 라이트 어드레스 포인터는 1 증가하여 다음에 입력되는 비트스트림이 저장될 어드레스를 지정한다. 또한, 리드 어드레스 포인터는 비트스트림을 비디오 디코더(16)로 출력할 어드레스를 지정하고, 상기 리드 어드레스 포인터가 지정하는 리드 어드레스에 있는 비트스트림이 디코딩을 위해 리드되면 상기 리드 어드레스 포인터는 1 증가하여 다음 리드 어드레스를 지정한다.Here, the write address pointer designates an address in the video buffer 15 in which the currently input bitstream is to be stored, and once the bitstream corresponding to one data word is stored at the address designated by the write address pointer, the write address The pointer is incremented by 1 to specify the address where the next input bitstream is to be stored. In addition, the read address pointer designates an address to output the bitstream to the video decoder 16, and if the bitstream at the read address designated by the read address pointer is read for decoding, the read address pointer is increased by one to the next. Specify the read address.

그리고, 상기 비디오 버퍼(15)는 비디오 비트스트림이 송신측에서 VLC(Variable Length Coding) 과정에 의해 가변 레이트로 코딩되어 있으므로 이를 일시 저장하였다가 고정 레이트로 비디오 디코더(16)에 출력하기 위하여 필요하다.Since the video bitstream is coded at a variable rate by a variable length coding (VLC) process at a transmitting side, the video buffer 15 is necessary to temporarily store the video bitstream and output the video bitstream to the video decoder 16 at a fixed rate. .

이때, 상기 VB 제어부(14)는 STC 검출부(13)로부터 h_stc 타이밍 신호가 전달될 때마다 그때의 라이트 어드레스 포인터를 레지스터에 저장한다. 그러다가 e_stc 타이밍 신호가 전달되면 현재의 라이트 어드레스 포인터 값을 레지스터의 값으로 바꾸어 준다.At this time, the VB control unit 14 stores the write address pointer at that time in the register whenever the h_stc timing signal is transmitted from the STC detection unit 13. Then, when the e_stc timing signal is transmitted, the current write address pointer value is replaced with the value of the register.

즉, 상기 비디오 버퍼(15)는 라이트 어드레스 포인터가 지정하는 어드레스에 입력되는 비트스트림을 저장하므로, 각 GOP의 마지막 브레이크된 불완전한 픽쳐가 입력되더라도 일단 비디오 버퍼(15)에 저장된다. 이때, 상기 불완전한 픽쳐의 헤더 시작 코드가 저장된 라이트 어드레스가 레지스터에 저장되어 있다. 그러므로 상기 VB 제어부(14)는 시퀀스 에러 코드로부터 만든 e_stc 신호가 입력되면 비디오 버퍼(15)의 현재 라이트 어드레스 포인터를 상기 레지스터에 저장된 라이트 어드레스 포인터로 피드백한다. 그러면, 다음 GOP의 비트스트림은 상기 라이트 어드레스 포인터가 지정하는 어드레스에 저장되므로 불완전한 픽쳐가 저장된 어드레스에 새로운 GOP의 비트스트림이 오버라이트된다. 결국, GOP 마지막의 불완전 픽쳐 비트스트림이 자연스럽게 제거된다.That is, since the video buffer 15 stores the bitstream input at the address designated by the write address pointer, the video buffer 15 is stored in the video buffer 15 even if the last broken incomplete picture of each GOP is input. At this time, the write address in which the header start code of the incomplete picture is stored is stored in the register. Therefore, when the e_stc signal generated from the sequence error code is input, the VB control unit 14 feeds back the current write address pointer of the video buffer 15 to the write address pointer stored in the register. Then, since the bitstream of the next GOP is stored at the address designated by the write address pointer, the bitstream of the new GOP is overwritten at the address where the incomplete picture is stored. As a result, the incomplete picture bitstream at the end of the GOP is naturally removed.

따라서, 상기 비디오 버퍼(15)로부터 비트스트림을 리드할때는 도 2의 (d)와 같이 픽쳐 정렬된 비트스트림이 리드된다.Therefore, when the bitstream is read from the video buffer 15, the picture aligned bitstream is read as shown in FIG.

그리고, 비디오 디코더(16)에서 입력되는 픽쳐 정렬된 비트스트림을 정상적으로 디코딩하면 화면에는 자연스럽게 FF 재생이 이루어진다. 즉, 상기 비디오 디코더(16)는 상기 VB 제어부(14)를 통해 비디오 버퍼(15)로부터 리드되는 비트스트림에서 오버헤드(각종 헤더 정보, 스타트 코드등)를 제거하고, 순수한 데이터 정보를 가변 길이 디코딩(Variable Length Decoding ; VLD)한 후 역양자화 과정, 역 이산 코사인 변환(IDCT), 움직임 벡터를 이용한 움직임 보상 과정을 거쳐 원래 화면의 픽셀 값을 복원하여 모니터로 출력한다.When the picture-aligned bitstream input from the video decoder 16 is normally decoded, FF reproduction is naturally performed on the screen. That is, the video decoder 16 removes overhead (various header information, start codes, etc.) from the bitstream read from the video buffer 15 through the VB control unit 14 and decodes the pure data information in variable length. After the variable length decoding (VLD), the pixel value of the original screen is restored and output to the monitor through an inverse quantization process, an inverse discrete cosine transform (IDCT), and a motion compensation process using a motion vector.

이때, 상기 비디오 디코더(16)는 FF 재생을 위해 고속 디코딩을 할 필요가 없으며 또한, 추가의 디코딩 모드를 만들 필요도 없다. 즉, VB 제어부(14)를 통해 입력되는 비트스트림만 정상적으로 디코딩하면 된다. 이는 이미 DSM(12)에서 FF 속도에 따라 스킵된 비트스트림이 출력되기 때문이다. 이로 인해 비디오 디코더(16)의 입력 인터페이스의 속도가 증가될 필요가 없다.At this time, the video decoder 16 does not need to perform high speed decoding for FF reproduction, nor does it need to create an additional decoding mode. That is, only the bitstream input through the VB control unit 14 needs to be decoded normally. This is because the bitstream already skipped according to the FF speed is output from the DSM 12. This does not need to increase the speed of the input interface of the video decoder 16.

이러한 본 발명은 DSM의 비디오 플레이어에서 FF 재생에 유용하게 사용될 수 있다.This invention can be usefully used for FF playback in a DSM video player.

이상에서와 같이 본 발명에 따른 비디오 플레이어 및 비디오 플레이어의 FF 제어 방법에 의하면, 비트스트림 디코더는 정상 디코딩의 단일 모드로 구현할 수 있고 DSM의 비트스트림을 리드하는 부에 의해서 독립적으로 FF가 구현되고 있기 때문에 종래와 같이 상호 연관되는 복잡한 제어를 없앨 수 있다. 또한, FF의 속도에 따라 복잡하게 제어하지 않고 단순히 리드되는 데이터의 양만을 조절하여 FF를 수행할 수 있기 때문에 임의의 속도에 대해서 쉽게 구현할 수 있다.As described above, according to the video player and the FF control method of the video player according to the present invention, the bitstream decoder can be implemented in a single mode of normal decoding, and the FF is independently implemented by the unit that leads the bitstream of the DSM. This eliminates the complex control that is commonly associated with the prior art. In addition, since the FF can be performed by simply adjusting the amount of data to be read without complicated control according to the speed of the FF, it can be easily implemented at any speed.

그리고, FF 속도에 따라 GOP의 전반부 N 바이트만을 읽어내고 GOP의 마지막 브레이크된 불완전한 픽쳐는 제거한 후 디코딩을 함으로써, FF 재생시에 화면에서 에러가 발생하지 않는다.Then, according to the FF speed, only the first N bytes of the GOP are read, and the last broken incomplete picture of the GOP is removed and decoded so that no error occurs on the screen during FF playback.

Claims (10)

영상을 압축하여 저장하는 디지털 저장 미디어(DSM)의 비디오 플레이어에서의 고속 감기 제어 방법에 있어서,A fast forward control method in a video player of a digital storage medium (DSM) for compressing and storing an image, 고속 감기 모드가 선택되면 상기 DSM에 저장된 비트스트림 중에 각 GOP(Group Of Picture)의 전반부 일부만을 리드하고 이 사이에 에러 코드를 삽입하여 스킵된 비트스트림을 출력하는 단계와,When the fast forward mode is selected, reading only a part of the first half of each group of pictures (GOP) among the bitstreams stored in the DSM, inserting an error code therebetween, and outputting a skipped bitstream; 상기 스킵된 비트스트림으로부터 각 픽쳐의 헤더 시작 코드와 에러 코드를 검출한 후 비디오 버퍼를 이용하여 불완전한 픽쳐 비트스트림을 제거하는 단계와,Detecting a header start code and an error code of each picture from the skipped bitstream and removing an incomplete picture bitstream using a video buffer; 상기 단계로부터 픽쳐 정렬된 비트스트림을 입력받아 정상 디코딩을 수행하는 단계를 포함하여 이루어지는 것을 특징으로 하는 비디오 플레이어의 고속 감기 제어 방법.And receiving the picture aligned bitstream from the step and performing normal decoding. 제 1 항에 있어서, 상기 스킵된 비트스트림 출력 단계는The method of claim 1, wherein the skipped bitstream output step 고속 감기 속도에 따라 각 GOP의 전반부에서 리드하는 비트스트림 양을 다르게 하는 것을 특징으로 하는 비디오 플레이어의 고속 감기 제어 방법.A fast forward control method of a video player, characterized by varying the amount of bitstreams leading in the first half of each GOP according to the fast forward speed. 제 1 항에 있어서, 상기 스킵된 비트스트림 출력 단계는The method of claim 1, wherein the skipped bitstream output step 고속 감기 속도에 따라 GOP를 스킵하면서 소정 GOP의 전반부 일부만을 리드하는 것을 특징으로 하는 비디오 플레이어의 고속 감기 제어 방법.A method of controlling a fast forwarding of a video player, characterized in that only a part of the first half of the predetermined GOP is read while skipping the GOP according to the fast forwarding speed. 제 1 항에 있어서, 상기 에러 코드는The method of claim 1, wherein the error code is 시퀀스 에러 코드인 것을 특징으로 하는 비디오 플레이어의 고속 감기 제어 방법.Fast forward control method of a video player, characterized in that the sequence error code. 제 1 항에 있어서, 상기 불완전한 픽쳐 비트스트림 제거 단계는The method of claim 1, wherein the incomplete picture bitstream removing step 상기 각 픽쳐의 헤더 시작 코드와 에러 코드에 의해 상기 비디오 버퍼의 라이트 어드레스 포인터를 제어하여 불완전한 픽쳐 비트스트림을 제거하는 것을 특징으로 하는 비디오 플레이어의 고속 감기 제어 방법.And controlling the write address pointer of the video buffer according to the header start code and the error code of each picture to remove an incomplete picture bitstream. 영상을 압축하여 저장하는 디지털 저장 미디어(DSM)의 비디오 플레이어에 있어서,In a video player of a digital storage medium (DSM) that compresses and stores an image, 고속 감기 신호에 따라 상기 DSM에 저장된 비트스트림 중에 GOP(Group Of Picture)의 전반부 일부만을 리드하고 이 사이에 에러 코드를 삽입하여 스킵된 비트스트림을 출력하는 DSM 제어부와,A DSM controller which reads only a part of the first half of a group of picture (GOP) among the bitstreams stored in the DSM according to a fast forward signal, and outputs a skipped bitstream by inserting an error code therebetween; 상기 DSM 제어부를 통해 입력되는 비트스트림으로부터 각 픽쳐의 헤더 시작 코드와 에러 코드를 검출하여 헤더 시작 코드 검출 신호와 에러 코드 검출 신호 그리고, 스킵된 비트스트림을 출력하는 STC 검출부와,An STC detector for detecting a header start code and an error code of each picture from the bitstream input through the DSM controller, and outputting a header start code detection signal, an error code detection signal, and a skipped bitstream; 상기 스킵된 비트스트림을 비디오 버퍼에 일시 저장함과 동시에 상기 헤더 시작 코드 검출 신호와 에러 코드 검출 신호에 따라 상기 비디오 버퍼의 라이트 어드레스 포인터를 제어하여 불완전한 픽쳐 비트스트림을 제거하는 비디오 버퍼 제어부와,A video buffer controller which temporarily stores the skipped bitstream in a video buffer and simultaneously controls a write address pointer of the video buffer according to the header start code detection signal and an error code detection signal to remove an incomplete picture bitstream; 상기 비디오 버퍼 제어부를 통해 픽쳐 정렬된 비트스트림을 입력받아 정상적인 디코딩을 수행하는 비디오 디코더로 구성되는 것을 특징으로 하는 비디오 플레이어.And a video decoder configured to receive a picture aligned bitstream through the video buffer control unit and perform normal decoding. 제 6 항에 있어서, 상기 DSM 제어부는The method of claim 6, wherein the DSM control unit 고속 감기 속도에 따라 DSM에 저장된 비트스트림 중 각 GOP의 전반부에서 리드하는 비트스트림 양을 다르게 하는 것을 특징으로 하는 비디오 플레이어.A video player characterized by varying the amount of bitstreams leading in the first half of each GOP among the bitstreams stored in the DSM according to the fast forward speed. 제 6 항에 있어서, 상기 DSM 제어부는The method of claim 6, wherein the DSM control unit 고속 감기 속도에 따라 GOP를 스킵하면서 소정 GOP의 전반부 일부만을 리드하는 것을 특징으로 하는 비디오 플레이어.A video player, characterized in that it leads only a portion of the first half of a given GOP while skipping the GOP according to the fast forward speed. 제 6 항에 있어서, 상기 DSM 제어부에서 삽입하는 에러 코드는The method of claim 6, wherein the error code inserted by the DSM controller is 시퀀스 에러 코드인 것을 특징으로 하는 비디오 플레이어.A video player, which is a sequence error code. 제 6 항에 있어서, 상기 비디오 버퍼 제어부는The method of claim 6, wherein the video buffer control unit 상기 STC 검출부로부터 헤더 시작 코드 검출 신호가 전달될 때마다 그때의 비디오 버퍼의 라이트 어드레스 포인터를 레지스터에 저장하다가 상기 에러 코드 검출 신호가 전달되면 상기 비디오 버퍼의 현재의 라이트 어드레스 포인터 값을 레지스터의 값으로 변환하는 것을 특징으로 하는 비디오 플레이어.Whenever the header start code detection signal is transmitted from the STC detector, the write address pointer of the video buffer at that time is stored in a register. When the error code detection signal is transmitted, the current write address pointer value of the video buffer is converted into a register value. A video player, characterized by converting.
KR10-1998-0060397A 1998-12-29 1998-12-29 Fast forward control method of video player and video player KR100525373B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-1998-0060397A KR100525373B1 (en) 1998-12-29 1998-12-29 Fast forward control method of video player and video player

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-1998-0060397A KR100525373B1 (en) 1998-12-29 1998-12-29 Fast forward control method of video player and video player

Publications (2)

Publication Number Publication Date
KR20000043959A true KR20000043959A (en) 2000-07-15
KR100525373B1 KR100525373B1 (en) 2005-12-21

Family

ID=19567215

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-1998-0060397A KR100525373B1 (en) 1998-12-29 1998-12-29 Fast forward control method of video player and video player

Country Status (1)

Country Link
KR (1) KR100525373B1 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3056653B2 (en) * 1994-11-02 2000-06-26 株式会社グラフィックス・コミュニケーション・ラボラトリーズ Digital video decoding method and apparatus
KR980004838A (en) * 1996-06-18 1998-03-30 구자홍 Automatic Editing Device Using Subcode and Its Control Method
KR20000042574A (en) * 1998-12-26 2000-07-15 전주범 Method for searching data of guarding system by using digital vcr

Also Published As

Publication number Publication date
KR100525373B1 (en) 2005-12-21

Similar Documents

Publication Publication Date Title
US6628890B1 (en) Digital recording/reproduction apparatus
US7342967B2 (en) System and method for enhancing performance of personal video recording (PVR) functions on hits digital video streams
US20030159152A1 (en) Fast motion trick mode using dummy bidirectional predictive pictures
US8009741B2 (en) Command packet system and method supporting improved trick mode performance in video decoding systems
US5802240A (en) Video editing apparatus
EP0728396B1 (en) Recording and reproduction of a data reduced digital video signal on a longitudinal record carrier
GB2321154A (en) Reverse playback of MPEG video
US7333711B2 (en) Data distribution apparatus and method, and data distribution system
KR19980033398A (en) Decryption method and apparatus
US7257312B2 (en) Fast motion trick mode using dummy predictive pictures
JPH1079918A (en) Device for decoding and reproducing picture information and method therefor
US7174086B2 (en) Trick mode using dummy predictive pictures
US6990287B2 (en) Fast motion trick mode using dummy bidirectional predictive pictures
KR100525373B1 (en) Fast forward control method of video player and video player
JP3852114B2 (en) Compressed image data transmission method and apparatus
US20040213551A1 (en) Method and apparatus for controlling a bit rate of digital video data
JP2002218396A (en) Information playback apparatus, information playback method, recording medium and program
JPH1093917A (en) Picture processor
KR100223656B1 (en) Screen display method of device with mpeg video data decoder
JPH08223534A (en) Image reproducing device
KR0139163B1 (en) Sync adapting apparatus applicating in a vlc process
JPH1056613A (en) Compressed image decoder
JPH08265750A (en) Picture reproducing device by mpeg system
JPH11187395A (en) Decoding device for variable transfer rate compression information
JP2002305721A (en) Compressed image reproducing method

Legal Events

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

Payment date: 20080926

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee