KR20050090302A - 비디오 인코더/디코더, 비디오 인코딩/디코딩 방법, 그방법을 수행하는 프로그램이 기록된 컴퓨터 판독가능한기록매체 - Google Patents
비디오 인코더/디코더, 비디오 인코딩/디코딩 방법, 그방법을 수행하는 프로그램이 기록된 컴퓨터 판독가능한기록매체 Download PDFInfo
- Publication number
- KR20050090302A KR20050090302A KR1020040017165A KR20040017165A KR20050090302A KR 20050090302 A KR20050090302 A KR 20050090302A KR 1020040017165 A KR1020040017165 A KR 1020040017165A KR 20040017165 A KR20040017165 A KR 20040017165A KR 20050090302 A KR20050090302 A KR 20050090302A
- Authority
- KR
- South Korea
- Prior art keywords
- items
- video packet
- video
- packet
- blocks
- Prior art date
Links
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/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/34—Scalability techniques involving progressive bit-plane based encoding of the enhancement layer, e.g. fine granular scalability [FGS]
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47C—CHAIRS; SOFAS; BEDS
- A47C21/00—Attachments for beds, e.g. sheet holders, bed-cover holders; Ventilating, cooling or heating means in connection with bedsteads or mattresses
- A47C21/04—Devices for ventilating, cooling or heating
- A47C21/048—Devices for ventilating, cooling or heating for heating
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47C—CHAIRS; SOFAS; BEDS
- A47C20/00—Head -, foot -, or like rests for beds, sofas or the like
- A47C20/04—Head -, foot -, or like rests for beds, sofas or the like with adjustable inclination
- A47C20/042—Head -, foot -, or like rests for beds, sofas or the like with adjustable inclination by means of screw-and-nut mechanism
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47C—CHAIRS; SOFAS; BEDS
- A47C21/00—Attachments for beds, e.g. sheet holders, bed-cover holders; Ventilating, cooling or heating means in connection with bedsteads or mattresses
- A47C21/006—Oscillating, balancing or vibrating mechanisms connected to the bedstead
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47C—CHAIRS; SOFAS; BEDS
- A47C31/00—Details or accessories for chairs, beds, or the like, not provided for in other groups of this subclass, e.g. upholstery fasteners, mattress protectors, stretching devices for mattress nets
- A47C31/004—Means for protecting against undesired influence, e.g. magnetic radiation or static electricity
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61H—PHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
- A61H23/00—Percussion or vibration massage, e.g. using supersonic vibration; Suction-vibration massage; Massage with moving diaphragms
- A61H23/02—Percussion or vibration massage, e.g. using supersonic vibration; Suction-vibration massage; Massage with moving diaphragms with electric or magnetic drive
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61H—PHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
- A61H7/00—Devices for suction-kneading massage; Devices for massaging the skin by rubbing or brushing not otherwise provided for
- A61H7/002—Devices for suction-kneading massage; Devices for massaging the skin by rubbing or brushing not otherwise provided for by rubbing or brushing
- A61H7/004—Devices for suction-kneading massage; Devices for massaging the skin by rubbing or brushing not otherwise provided for by rubbing or brushing power-driven, e.g. electrical
-
- 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/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05B—ELECTRIC HEATING; ELECTRIC LIGHT SOURCES NOT OTHERWISE PROVIDED FOR; CIRCUIT ARRANGEMENTS FOR ELECTRIC LIGHT SOURCES, IN GENERAL
- H05B3/00—Ohmic-resistance heating
- H05B3/20—Heating elements having extended surface area substantially in a two-dimensional plane, e.g. plate-heater
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61H—PHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
- A61H2201/00—Characteristics of apparatus not provided for in the preceding codes
- A61H2201/01—Constructive details
- A61H2201/0119—Support for the device
- A61H2201/0138—Support for the device incorporated in furniture
- A61H2201/0142—Beds
- A61H2201/0146—Mattresses
Landscapes
- Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Rehabilitation Therapy (AREA)
- Life Sciences & Earth Sciences (AREA)
- Animal Behavior & Ethology (AREA)
- Physical Education & Sports Medicine (AREA)
- Public Health (AREA)
- Veterinary Medicine (AREA)
- Pain & Pain Management (AREA)
- Epidemiology (AREA)
- Nursing (AREA)
- Dermatology (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
본 발명에 따라 비디오 인코더/디코더, 비디오 인코딩/디코딩 방법, 그 방법을 수행하는 프로그램이 기록된 컴퓨터 판독가능한 기록매체 및 비디오 패킷 구조가 기록된 기록 매체가 개시된다.
본 발명에 따른 비디오 디코더는 비디오 패킷을 구성하는 매크로블록들내의 블록들에 포함된 아이템들중에서 상대적으로 의미있는 아이템들이 상기 비디오 패킷의 앞 부분에 배열되고, 상대적으로 덜 의미있는 아이템들이 상기 비디오 패킷의 뒷 부분에 배열된 비디오 패킷을 수신하여, 상기 비디오 패킷내에 배열된 아이템들의 순서로 상기 아이템들을 디코드하는 디코딩부를 포함한다. 이와 같은 본 발명에 의하면, 비트율이 저하되지 않으면서도 FGS 기능을 효과적을 수행할 수 있다.
Description
본 발명은 FGS 비디오 코딩/인코딩에 관한 것으로 좀더 구체적으로는, 비디오 인코더/디코더, 비디오 인코딩/디코딩 방법, 그 방법을 수행하는 프로그램이 기록된 컴퓨터 판독가능한 기록매체 및 비디오 패킷 구조가 기록된 기록 매체에 관한 것이다.
일반적으로 정지영상이나 동영상 코딩 방법에 있어서, 스케일러블 코딩 방법에 대한 요구가 폭발적으로 증가되고 있다.
언제, 어디서나 누구에게나 영상 정보를 이용하여 통신이 이루어질 수 있도록 하는 이동통신 서비스나 무선 인터넷 등의 등장으로, 사람들은 노트북, 개인휴대단말기(PDA) 등과 같은 다양한 컴퓨터와 접합된 정보 가전을 이용하여 원격지의 영상정보를 얻기를 원한다. 앞으로는 더욱 다양한 형태의 영상 정보 가전들이 출현될 것이며, 출현할 영상 정보 가전제품의 복호화 능력이나 전송 환경 등은 각각의 단말기가 가져야 하는 특성이나 적응 환경 때문에 자연히 다르게 된다.
이러한 문제를 해결하기 위해 영상을 코딩하여 전송하는데 있어서 MPEG-4에서는, 수신자측의 단말기 상황이나 성능에 따라 다양한 화질을 제공할 수 있도록 설계되어 있다. 예를 들어, 수신단의 단말기의 성능이 우수하고 전송선로등의 상태가 좋을 때는 고화질의 동영상을 수신하여 디스플레이할 수 있지만, 수신기의 성능이 우수하지 않거나 통신 라인의 상태가 좋지 않을 때는 고화질을 수신할 수 없게 된다. 위의 두 경우를 모두 수용하기 위해 MPEG-2, MPEG-4, H.263 등 비디오 코덱에서는 스케일러블 코딩을 할 수 있도록 설계되어 있다.
스케일러블 영상 코딩은 수신단측에서 다양한 화질의 영상을 수신할 수 있도록 인코더 측에서 스케일러블한 비트스트림(scalable bitstream)을 만들어서 전송하는 것이다. 즉, 전송 비트스트림이 스케일러블하다면 다양한 종류의 수신기가 존재할 수 있게 되어 저성능 수신기는 기본 계층에서 인코딩된 기본 계층의 영상 비트스트림을 전송받아 디스플레이하도록 하고, 고성능 수신기는 기본 계층의 비트스트림과 향상 계층에서 인코딩된 높은 화질의 영상 비트스트림을 전송받아 디스플레이하도록 할 수 있다.
현존하는 스케일러블 코딩 방법은 크게 공간적 스케일러블 코딩 방법과 시간적 스케일러블 코딩 방법으로 나뉜다. 공간적 스케일러블 코딩 방법은 공간적 해상도를 단계적으로 향상시키는데 사용되고, 시간적 스케일러블 코딩 방법은 시간축상에서 디스플레이되는 단위 시간당 영상의 수를 단계적으로 향상시킬 수 있도록 한다. 각각의 스케일러블 코딩을 수행하기 위해 MPEG-4 에서는 한 개 이상의 향상계층을 구성하여 비트스트림을 수신단측으로 전달하는데 한 단계의 향상 계층을 이용한 동영상 코딩의 경우에, 기본 계층(base layer)에서는 기본적으로 공간적으로나 시간적으로 낮은 해상도의 영상을 코딩하여 전송하고, 향상 계층(enhancement layer)에서는 기본계층에서 기 전송된 영상정보에 더하여 향상된 해상도를 구현할 수 있도록 하기 위한 영상 정보를 부가적으로 코딩하여 전송하도록 하고 있다.
기존의 스케일러블 코딩 방법에서는 2 계층 또는 3 계층으로 코딩하므로 가능한 비트율의 개수가 각각 2개, 3개만 가능하다. 유/무선 인터넷과 같은 전송선로는 상태가 안정적이지 못하여 대역폭이 수시로 변한다. 전송선로에서 비트율이 어떻게 변하더라도 유연하게 최적의 비트율로 적응할 수 있도록 하기 위해 MPEG-4 에서는 미세형 스케일러빌리티(Fine Granular Scalability) 방법을 제안하여 국제표준안을 제정하고 있다.
수신단측에서 부분적인 영상 비트스트림만을 수신하여 전송 영상의 복원이 효율적으로 이루어지게 하기 위하여 미세형 스케일러빌리티 방법에서는 송신단측에서 전송된 기본 계층에서의 영상을 토대로 향상 계층에서 향상된 화질의 영상 비트스트림을 구현하여 전송할 때, 비트 평면 단위로 전송하는 방법을 이용한다. 즉, 송신단측에서 수신단측으로 향상계층에 필요한 비트스트림을 전송할 때 원 영상과 기본계층에서 전송되는 영상의 차만을 전송하여 전송 영상의 화질 향상을 이루도록 하는 것은 기존의 스케일러블 코딩 방법과 비슷하지만, 향상계층에서 수신단측에 전송할 영상정보를 비트 평면별로 나누어 가장 중요한 비트(MSB:Most Significant Bit)를 최우선적으로 전송하고, 그 다음 중요한 비트를 비트평면별로 나누어 연속적으로 전송하는 방식을 사용하여, 수신단측에서 전송선로의 대역폭이 급변하여 영상 복원에 필요한 모든 비트를 수신하지 못한 경우에도 그때까지 수신된 비트스트림만을 이용하여 전송 영상의 복원을 어느 정도 수행할 수 있도록 한다. 그러나, 이러한 MPEG-4 FGS 방식은 비트평면 부호화에 의해 전체 비트량이 과도하게 증가되는 문제점이 있다.
한편, MPEG-21 SVC(scalable video coding)에서도 FGS에 대한 표준화가 계속되고 있다. 그리고, MPEG-21 DIA(Digital Item Adaptation)에서는 네트워크 중간에 위치한 프록시 노드(proxy node)에서 임의로 비트율을 변경할 수 있는 방법이 있다는 전제하에 표준화가 진행되고 있다.
그러나 앞서 설명한 바와 같이 현재 논의되고 있는 FGS 방식들은 같은 비트율 품질의 단일 계층 인코딩에 비해 PSNR이 현저히 떨어진다. 그리고, FGS를 위하여 기존의 코딩 방식을 바꾸어야 하는 문제를 가지고 있다.
한편, 종래 데이터 파티셔닝(data partitioning) 방법들이 있는데 이하에서는 이러한 데이터 파티셔닝 방식들을 몇가지 소개한다.
MPEG-2 Part 2
ISO/IEC 13818-2의 7.10절에서는 데이터 파티셔닝(Data Partitioning)에 대하여 다루고 있다. 여기서는 블록 데이터를 'priority breakpoint'를 중심으로 2개의 파트로 나누고 있으며, 67가지의 'priority breakpoint'를 정의하고 있다. MPEG-2와 같이 2개의 부분으로 나누면 2계층 부호화가 가능하나, FGS는 불가능하다.
MPEG-4 Motion Marker
ISO/IEC 14496-2:2003(E)의 E.1.2절에서도 데이터 파티셔닝(data partitioning)에 대해서 다루고 있다. 여기서 데이터 파티셔닝은 에러 강인성도구로 사용된다. 하나의 비디오 패킷 내에 있는 모든 매크로블럭의 움직임벡터와 헤더정도를 모아 앞쪽에 넣고, 재동기(resynchronization)를 위한 MM (Motion Marker)를 넣은 후, 모든 매크로블럭의 텍스쳐 정보(DCT coefficients)를 넣는다. 이것은 MPEG-2의 데이터 파티셔닝(data partitioning)보다 축소된 개념이며, FGS 용도로 사용할 수 없다.
JVT (Joint Video Technique)
ITU-T Rec. H.264 | ISO/IEC 14496-10 AVC의 7.3.2.9절과 7.4.2.9절에서 슬라이스 데이터 파티셔닝(data partitioning) RBSP의 신택스와 시맨틱에 대해서 논하고 있다. 여기서는 데이터를 3가지 카테고리로 나누고 있으며, FGS 용도로 이용할 수 없다.
이상과 같이 소개한 데이터 파티셔닝 방식은 FGS에 사용할 수 없다. 그리고, 현재 표준화된 FGS 방식은 FGS 기능을 위한 오버헤드가 커서 단일 계층 인코딩에 비해서 같은 비트율에서 PSNR이 현저히 떨어진다.
도 1은 종래 기술에 따른 단일 계층 인코딩/디코딩 순서를 도시한다.
도 1을 참조하면, 하나의 비디오 패킷에 포함된 아이템들이 인코딩되는 순서가 도시되어 있다. 하나의 비디오 패킷은 매크로블록 1부터 매크로 블록 N까지 N개의 매크로블록을 포함한다. 각 매크로블록은 매크로블록 헤더(MBH)와 6개의 블록들로 구성된다. 각 블록은 아이템들로 구성되어 있으며, 아이템들의 끝에 EOB가 배열된다.
이와 같은 전체적인 구성하에서, 도 1에 도시된 바와 같은 종래 기술에 따르면 매크로블록 1의 블록 1이 인코딩된 다음 블록 2가 인코딩되고, 매크로블록 1이 모두 인코딩된 다음 매크로블록 2가 인코딩된다. 즉, 매크로블록 1에 포함된 블록 1의 아이템들 즉, 아이템 1부터 EOB까지 모두 인코딩되고 나서 블록 2의 아이템들이 인코딩된다. 이와 같은 순서로 인코딩이 되면, 하나의 비디오 패킷내의 앞부분에는 매크로블록 1이 배열되고, 뒷부분에는 매크로블록 N이 배열되며, 각 블록내의 아이템들이 비디오 패킷전체에 분산되어 배열된다.
그러나, 각 블록내의 아이템들을 살펴보면, 앞부분의 아이템들에 의미있는 정보들이 많이 실리고, 뒷부분의 아이템들에는 상대적으로 덜 중요한 정보들이 많이 실린다. 또한, 단순히 블록의 종료를 나타내는 EOB도 맨 뒤 아이템에 존재한다.
그럼에도 불구하고, 도 1에 도시된 종래기술에 따른 인코딩방법에서는 블록의 아이템들을 비디오 패킷내에 전체적으로 분산되게 배치된다. 따라서, 어떤 원인 들에 의해 비디오 패킷의 뒷 부분이 잘릴 경우, 비디오 패킷의 뒷 부분에 배열된 매크로블록 정보들은 통째로 없어진다. 그러므로, 비디오 패킷의 앞 부분만을 가지고 디코드할 경우 원래의 신호가 제대로 재생될 수 없는 경우가 많다.
본 발명은 상기와 같은 문제점을 해결하여 비트율을 저하시키지 않으면서도 네트워크 상황에 적응적으로 대처하는 FGS를 구현할 수 있도록 하는 비디오 인코더/디코더, 비디오 인코딩/디코딩 방법, 그 방법을 수행하는 프로그램이 기록된 컴퓨터 판독가능한 기록매체 및 비디오 패킷 구조가 기록된 기록 매체를 제공하는 것을 목적으로 한다.
상기와 같은 과제를 해결하기 위한 본 발명의 하나의 특징은, 비디오 인코더에 있어서, 비디오 패킷을 구성하는 매크로블록들내의 블록들에 포함된 아이템들중에서 상대적으로 의미있는 아이템들을 상기 비디오 패킷의 앞 부분에 배열하고, 상대적으로 덜 의미있는 아이템들을 상기 비디오 패킷의 뒷 부분에 배열하는 인코딩부를 포함하는 것이다.
바람직하게는, 상기 상대적으로 의미있는 아이템들은 각 블록의 앞 부분에 위치된 아이템들이고, 상기 상대적으로 덜 의미있는 아이템들은 각 블록의 뒷 부분에 위치된 아이템들이다.
상기 인코딩부는, 상기 비디오 패킷내에서 상기 아이템들의 앞 부분에 상기 비디오 패킷내에 포함된 모든 매크로블록 헤더들을 배열하는 것이 바람직하다.
본 발명의 다른 특징은, 비디오 인코더에 있어서, 비디오 패킷을 구성하는 매크로블록들내의 블록들에 포함된 아이템들중에서 동일한 아이템 번호를 가지는 아이템들로 이루어진 아이템 그룹들중에서 상대적으로 의미있는 아이템들을 가지는 아이템 그룹들을 상기 비디오 패킷의 앞 부분에 배열하고, 상대적으로 덜 의미있는 아이템들을 가지는 아이템 그룹들을 상기 비디오 패킷의 뒷 부분에 배열하며, 상기 서로 다른 아이템 그룹을 식별하기 위한 리싱크 마커들을 상기 아이템 그룹들 사이에 배열하는 인코딩부를 포함하는 것이다.
상기 인코딩부는, 상기 비디오 패킷내에서 아이템들중에서 상기 리싱크 마커와 동일한 패턴을 가지는 아이템을 검출하면 상기 아이템을 변형하여 배열하는 것이 바람직하다.
본 발명의 또 다른 특징은, 비디오 디코더에 있어서, 비디오 패킷을 구성하는 매크로블록들내의 블록들에 포함된 아이템들중에서 상대적으로 의미있는 아이템들이 상기 비디오 패킷의 앞 부분에 배열되고, 상대적으로 덜 의미있는 아이템들이 상기 비디오 패킷의 뒷 부분에 배열된 비디오 패킷을 수신하는 수신부와, 상기 비디오 패킷내에 배열된 아이템들의 순서로 상기 아이템들을 디코드하는 디코딩부를 포함하는 것이다.
본 발명의 또 다른 특징은, 비디오 디코더에 있어서, 비디오 패킷을 구성하는 매크로블록들내의 블록들에 포함된 아이템들중에서 상대적으로 의미있는 아이템들이 상기 비디오 패킷의 앞 부분에 배열되고, 상대적으로 덜 의미있는 아이템들이 상기 비디오 패킷의 뒷 부분에 배열된 비디오 패킷을 수신하여 상기 비디오 패킷내에 배열된 아이템들의 순서로 상기 아이템들을 가변 길이 디코드하는 가변 길이 디코딩부와, 상기 가변 길이 디코딩부로부터 수신된 상기 비디오 패킷내의 디코딩된 모든 블록들을 역양자화하는 역양자화부와, 상기 역양자화된 모든 블록들을 역 DCT 수행하는 역 DCT부와, 상기 역 DCT된 모든 블록들을 움직임 보상하는 움직임 보상부를 더 포함하는 것이다.
상기 가변 길이 디코딩부가, 상기 비디오 패킷내에 포함된 아이템들을 모두 가변 길이 디코드하기 전 소정 시점에서 상기 비디오 패킷의 끝을 나타내는 정보를 검출한 경우 상기 소정 시점까지 가변 길이 디코드된 블록들을 상기 역양자화부로 출력하는 것이 바람직하다.
본 발명의 또 다른 특징은, 비디오 디코더에 있어서, 비디오 패킷을 구성하는 매크로블록블내의 블록들에 포함된 아이템들중에서 동일한 아이템 번호를 가지는 아이템들로 이루어진 아이템 그룹들중에서 상대적으로 의미있는 아이템들을 가지는 아이템 그룹들이 상기 비디오 패킷의 앞 부분에 배열되고, 상대적으로 덜 의미있는 아이템들을 가지는 아이템 그룹들이 상기 비디오 패킷의 뒷 부분에 배열되며, 상기 아이템 그룹들 사이에 상기 서로 다른 아이템 그룹을 식별하기 위한 리싱크 마커들이 배열된 비디오 패킷을 수신하는 수신부와, 상기 비디오 패킷내에 배열된 리싱크 마커들을 식별하는 리싱크 마커 식별부와, 상기 식별된 리싱크 마커들을 참조하여 상기 비디오 패킷내의 아이템들을 디코드하는 디코딩부를 포함하는 것이다.
상기 디코딩부는 상기 식별된 리싱크 마커를 참조하여 상기 비디오 패킷내의 매크로블록내의 블록 단위로 상기 아이템들을 디코딩하는 것이 바람직하다.
본 발명의 또 다른 특징은, 비디오 디코더에 있어서, 비디오 패킷을 구성하는 매크로블록블내의 블록들에 포함된 아이템들중에서 동일한 아이템 번호를 가지는 아이템들로 이루어진 아이템 그룹들중에서 상대적으로 의미있는 아이템들을 가지는 아이템 그룹들이 상기 비디오 패킷의 앞 부분에 배열되고, 상대적으로 덜 의미있는 아이템들을 가지는 아이템 그룹들이 상기 비디오 패킷의 뒷 부분에 배열되며, 상기 아이템 그룹들 사이에 상기 서로 다른 아이템 그룹을 식별하기 위한 리싱크 마커들이 배열된 비디오 패킷을 수신하여, 상기 비디오 패킷내에 배열된 리싱크 마커들을 식별하고, 상기 식별된 리싱크 마커들을 참조하여 상기 비디오 패킷내의 아이템들을 가변 길이 디코드하는 가변 길이 디코딩부와, 상기 가변 길이 디코딩부로부터 수신된 가변 길이 디코딩된 아이템들을 블록 단위로 역양자화하는 역양자화부와, 상기 역양자화된 블록을 역 DCT 수행하는 역 DCT부와, 상기 역 DCT된 블록을 움직임 보상하는 움직임 보상부를 더 포함하는 것이다.
상기 가변 길이 디코딩부가, 상기 비디오 패킷내에 포함된 아이템들을 모두 가변 길이 디코드하기 전 소정 시점에서 상기 비디오 패킷의 끝을 나타내는 정보를 검출한 경우 상기 소정 시점까지 디코드된 아이템들을 상기 역양자화부로 출력하는 것이 바람직하다.
본 발명의 또 다른 특징은, 비디오 인코딩 방법에 있어서, 비디오 패킷을 구성하는 매크로블록들내의 블록들에 포함된 아이템들중에서 상대적으로 의미있는 아이템들을 상기 비디오 패킷의 앞 부분에 배열하고, 상대적으로 덜 의미있는 아이템들을 상기 비디오 패킷의 뒷 부분에 배열하여 인코딩하는 단계를 포함하는 것이다.
본 발명의 또 다른 특징은, 비디오 인코딩 방법에 있어서, 비디오 패킷을 구성하는 매크로블록들내의 블록들에 포함된 아이템들중에서 동일한 아이템 번호를 가지는 아이템들로 이루어진 아이템 그룹들중에서 상대적으로 의미있는 아이템들을 가지는 아이템 그룹들을 상기 비디오 패킷의 앞 부분에 배열하고, 상대적으로 덜 의미있는 아이템들을 가지는 아이템 그룹들을 상기 비디오 패킷의 뒷 부분에 배열하며, 상기 서로 다른 아이템 그룹을 식별하기 위한 리싱크 마커들을 상기 아이템 그룹들 사이에 배열하여 인코딩하는 단계를 포함하는 것이다.
본 발명의 또 다른 특징은, 비디오 디코딩 방법에 있어서, 비디오 패킷을 구성하는 매크로블록들내의 블록들에 포함된 아이템들중에서 상대적으로 의미있는 아이템들이 상기 비디오 패킷의 앞 부분에 배열되고, 상대적으로 덜 의미있는 아이템들이 상기 비디오 패킷의 뒷 부분에 배열된 비디오 패킷을 수신하는 단계와, 상기 비디오 패킷내에 배열된 아이템들의 순서로 상기 아이템들을 디코드하는 단계를 포함하는 것이다.
본 발명의 또 다른 특징은, 비디오 디코딩 방법에 있어서, 비디오 패킷을 구성하는 매크로블록블내의 블록들에 포함된 아이템들중에서 동일한 아이템 번호를 가지는 아이템들로 이루어진 아이템 그룹들중에서 상대적으로 의미있는 아이템들을 가지는 아이템 그룹들이 상기 비디오 패킷의 앞 부분에 배열되고, 상대적으로 덜 의미있는 아이템들을 가지는 아이템 그룹들이 상기 비디오 패킷의 뒷 부분에 배열되며, 상기 아이템 그룹들 사이에 상기 서로 다른 아이템 그룹을 식별하기 위한 리싱크 마커들이 배열된 비디오 패킷을 수신하는 단계와, 상기 비디오 패킷내에 배열된 리싱크 마커들을 식별하는 단계와, 상기 식별된 리싱크 마커들을 참조하여 상기 비디오 패킷내의 아이템들을 디코드하는 단계를 포함하는 것이다.
본 발명의 또 다른 특징은, 비디오 디코딩 방법을 수행하는 프로그램이 기록된 컴퓨터 판독가능한 기록매체에 있어서, 상기 비디오 디코딩 방법은, 비디오 패킷을 구성하는 매크로블록들내의 블록들에 포함된 아이템들중에서 상대적으로 의미있는 아이템들이 상기 비디오 패킷의 앞 부분에 배열되고, 상대적으로 덜 의미있는 아이템들이 상기 비디오 패킷의 뒷 부분에 배열된 비디오 패킷을, 상기 비디오 패킷내에 배열된 아이템들의 순서로 상기 아이템들을 디코드하는 단계를 포함하는 것이다.
본 발명의 또 다른 특징은, 비디오 디코딩 방법을 수행하는 프로그램이 기록된 컴퓨터 판독가능한 기록 매체에 있어서, 상기 비디오 디코딩 방법은, 비디오 패킷을 구성하는 매크로블록블내의 블록들에 포함된 아이템들중에서 동일한 아이템 번호를 가지는 아이템들로 이루어진 아이템 그룹들중에서 상대적으로 의미있는 아이템들을 가지는 아이템 그룹들이 상기 비디오 패킷의 앞 부분에 배열되고, 상대적으로 덜 의미있는 아이템들을 가지는 아이템 그룹들이 상기 비디오 패킷의 뒷 부분에 배열되며, 상기 아이템 그룹들 사이에 상기 서로 다른 아이템 그룹을 식별하기 위한 리싱크 마커들이 배열된 비디오 패킷을 수신하는 단계와, 상기 비디오 패킷내에 배열된 리싱크 마커들을 식별하는 단계와, 상기 식별된 리싱크 마커들을 참조하여 상기 비디오 패킷내의 아이템들을 디코드하는 단계를 포함하는 것이다.
본 발명의 또 다른 특징은, 네트워크를 통해서 전송되는 비디오 패킷의 데이터 구조가 기록된 기록 매체에 있어서, 상기 비디오 패킷의 데이터 구조는, 비디오 패킷을 구성하는 매크로블록들내의 블록들에 포함된 아이템들중에서 상대적으로 의미있는 아이템들이 상기 비디오 패킷의 앞 부분에 배열되고, 상대적으로 덜 의미있는 아이템들이 상기 비디오 패킷의 뒷 부분에 배열되는 것이다.
본 발명의 또 다른 특징은, 네트워크를 통해서 전송되는 비디오 패킷의 데이터 구조가 기록된 기록 매체에 있어서, 상기 비디오 패킷의 데이터 구조는, 비디오 패킷을 구성하는 매크로블록블내의 블록들에 포함된 아이템들중에서 동일한 아이템 번호를 가지는 아이템들로 이루어진 아이템 그룹들중에서 상대적으로 의미있는 아이템들을 가지는 아이템 그룹들이 상기 비디오 패킷의 앞 부분에 배열되고, 상대적으로 덜 의미있는 아이템들을 가지는 아이템 그룹들이 상기 비디오 패킷의 뒷 부분에 배열되며, 상기 아이템 그룹들 사이에 상기 서로 다른 아이템 그룹을 식별하기 위한 리싱크 마커들이 배열되는 것이다.
이제, 첨부된 도면들을 참조하여 본 발명을 상세히 설명한다.
본 발명은 비디오 데이터를 단일 계층으로 압축하면서 데이터 저장 순서를 바꾼다. 매크로블록에 포함되는 블록들은 복수개의 아이템을 포함한다. 본 발명에서는 블록에 포함된 아이템들중에서 블록의 앞부분에 있는 아이템들은 비디오 패킷의 앞부분에 배열되도록 하고, 블록에 포함된 아이템들중에서 블록의 뒷부분에 있는 아이템들은 비디오 패킷의 뒷부분에 배열되도록 인코딩함으로써 비디오 패킷의 뒷부분이 잘려나가더라도 비디오 패킷의 앞부분에 배열된 아이템들을 이용하여 유효하게 비디오 데이터를 디코드할 수 있다.
이와 같은 본 발명에 따라 두 개의 실시예가 개시된다.
본 발명의 제1실시예에 따른 인코딩 방법은 블록의 앞부분에 있는 아이템들은 비디오 패킷의 앞부분에 배열되도록 하고, 블록에 포함된 아이템들중에서 블록의 뒷부분에 있는 아이템들은 비디오 패킷의 뒷부분에 배열되도록 인코딩한다. 그리고, 제1실시예에 따른 디코딩 방법에서, 하나의 비디오 패킷내에 있는 모든 블록에 대해서 동시에 VLD를 진행한다. VLD된 데이터는 역양자화와 IDCT가 되기 전까지 저장되어있다. FGS의 목적대로 하나의 비디오 패킷의 뒷부분의 데이터가 버려진 경우에는 VLD 중간에 비디오 패킷이 끝나는데, 이 경우에는 지금까지 디코딩된 데이터를 가지고 역양자화와 이후의 과정을 수행한다.
본 발명의 제2실시예에 따른 인코딩 방법은 비디오 패킷을 구성하는 매크로블록블내의 블록들에 포함된 아이템들중에서 동일한 아이템 번호를 가지는 아이템들로 이루어진 아이템 그룹들중에서 상대적으로 의미있는 아이템들을 가지는 아이템 그룹들이 상기 비디오 패킷의 앞 부분에 배열되도록 하고, 상대적으로 덜 의미있는 아이템들을 가지는 아이템 그룹들이 상기 비디오 패킷의 뒷 부분에 배열되도록 하며, 상기 아이템 그룹들 사이에 상기 서로 다른 아이템 그룹을 식별하기 위한 리싱크 마커들을 배열한다. 그리고, 제2실시예에 따른 디코딩 방법에서, VLD 전에 리싱크 마커를 이용하여 각 아이템의 시작점을 알 수 있으므로, VLD된 데이터를 저장하지 않고, 바로 해당 블록에 대한 역양자화 이후의 과정을 수행할 수 있다. 마찬 가지로 VLD 도중에 비디오 패킷의 끝을 만나면, 그때까지의 데이터로 가능한 최대의 품질로 화면을 복원한다.
도 2는 본 발명의 일 실시예에 따라 비디오 전송기로부터 데이터 네트워크를 통하여 비디오 수신기로 비디오 스트림을 전송하는 비디오 전송 시스템을 도시한다.
도 2를 참조하면, 비디오 전송 시스템은 비디오 스트림을 데이터 네트워크(200)를 통하여 전송하는 비디오 전송기(100)와, 데이터 네트워크(200)를 통하여 비디오 스트림을 수신하는 비디오 수신기(300)를 포함한다.
비디오 전송기(100)는 예를 들어, 데이터 네트워크 서버, 텔레비젼 스테이션 전송기, 케이블 네트워크 또는 개인용 컴퓨터 등이 될 수 있다.
비디오 전송기(100)는 비디오 프레임 소스(110)와, 비디오 인코더(120)와, 인코더 버퍼(130)를 포함한다.
비디오 프레임 소스(110)는 일련의 압축되지 않은 비디오 프레임들을 생성하여 비디오 인코더(120)로 출력한다. 비디오 인코더(120)는 압축되지 않은 비디오 프레임들을 소정의 압축 알고리즘에 따라 압축하여 이를 인코더 버퍼(130)로 전송한다. 인코더 버퍼(130)는 데이터 네트워크(200)를 통한 전송 준비를 위해 수신된 압축된 비디오 프레임들을 버퍼링한다. 본 발명에 따른 비디오 전송기는 하나의 화면내의 중요한 아이템들을 비디오 패킷의 앞 부분에 싣고, 덜 중요한 아이템들을 비디오 패킷의 뒷 부분에 실어서 부호화하여 전송한다.
데이터 네트워크(200)는 인터넷 등의 공중 데이터 네트워크, LAN 이나 WAN 등의 사설 데이터 네트워크를 포함한다.
또한, MPEG-21의 DIA 서버가 이러한 데이터 네트워크에 포함될 수 있다. 하나의 방송 서비스가 동시에 10Mbps ADSL이 연결된 PC와 20kbps 무선 인터넷에 연결된 PDA에 전달될 때, DIA 서버는 FGS 기능을 사용할 수 있다. 즉, 하나의 비디오 패킷이 하나의 인터넷 패킷에 저장될 때, 네트워크 중간에 있는 DIA 서버는 비디오 패킷의 뒷부분을 임의로 잘라내어 전체적인 비트율을 원하는 대로 떨어뜨릴 수 있다. 본 발명에 따라 비디오 패킷을 인코딩하여 전송하면, 화질에 영향을 주는 중요한 정보들이 비디오 패키의 앞 부분에 배열되어 있기 때문에 네트워크 중간에서 비디오 패킷의 뒷부분을 잘라내어도 어느 정도 품질의 화질을 보장할 수 있다. DIA 서버가 이러한 FGS 기능을 유효하게 이용하기 위해서는, 첫째 DIA 서버가 MPEG 비디오 인코딩/디코딩에 대해서 모르면서도, FGS로 요구되는 비트율 변경이 가능하여야 하고, 둘째, FGS로 인한 비트율의 오버헤드가 작아야 한다.
본 발명에 따르면, 비디오 패킷 인코딩시 별도의 부가적인 많은 추가적인 정보를 넣어서 인코딩하는 것이 아니라 데이터들의 인코딩 순서를 바꾸는 것이기 때문에 상기 두가지 요건을 모두 만족시키면서 FGS를 구현할 수 있다.
MPEG-21 DIA (Digital Item Adaptation) 표준에서는 프록시 서버(Proxy server)에서 비트율을 조절할 때, 비디오 패킷의 뒷부분을 얼마나 잘라내면 화질이 얼마나 떨어지는지를 나타내는 상관관계를 필요로 한다. 이 상관관계는 보통 Rate-Distortion curve 또는 R-D curve라고 부른다. 이 상관관계는 비디오의 종류마다 다른데, 서버는 이를 미리 구해놓고 이용할 수 있다. 즉, 서버는 UF(Utility Function)이라는 이름의 데이터를 콘텐츠의 비트스트림별로 가지고 있어서 이를 이용하여 상관관계를 구해 놓을 수 있다.
비디오 수신기(300)는 디코더 버퍼(310), 비디오 디코더(320), 비디오 디스플레이(330)를 포함한다. 이러한 비디오 수신기는 응용에 따라서, 텔레비젼 수신기나, 데스크탑 개인용 컴퓨터나 비디오 카셋트 레코더(VCR) 등이 될 수 있다.
디코더 버퍼(310)는 데이터 네트워크(200)로부터 압축된 비디오 프레임들을 수신하여 이를 저장하고, 비디오 디코더(320)의 요구에 따라 비디오 디코더(320)로 출력한다. 비디오 디코더(320)는 이상적으로는 비디오 인코더(120)에 의해 비디오 프레임들이 압축된 율(rate)과 동일한 율로 압축된 비디오 프레임들을 디코드한다. 비디오 디스플레이(330)는 비디오 디코더(320)로부터 비압축된 비디오 프레임들을 수신하여 재생한다.
도 3a는 본 발명에 따른 비디오 인코더의 개략적인 블록도이다.
도 3a를 참조하면, 비디오 인코더(120)는 움직임 예측부(121)와, DCT부(122)와, 양자화부(123)와, 가변길이 부호화부(124)를 포함한다.
움직임 예측부(121)는 오리지널 비디오 신호를 수신하여 기준 프레임과 현재 프레임 사이의 움직임의 양을 추정하여 이를 DCT부로(122)로 전송한다. 예를 들어, MPEG 표준의 경우에 움직임 정보는 프레임의 16x16 서브블록 마다 하나 내지 네 개의 움직임 벡터들로 나타내질 수 있다.
DCT부(122)는 움직임 예측부(121)로부터 출력된 움직임 예측 결과와 원 영상과의 차이를 수신하여, 이를 이산 여현 변환(discrete cosine transform:DCT)과 같은 알려진 기술을 이용하여 공간적 도메인에서 주파수 도메인으로 변환한다.
양자화부(123)는 DCT부(122)로부터 DCT 계수 출력을 수신하여 이를 알려진 양자화 기술 등을 이용하여 압축한다.
가변길이 부호화부(124)는 양자화부(123)로부터 양자화된 DCT 계수들을 수신하고, 이를 발생 확률이 높은 영역은 상대적으로 짧은 코드로 나타내고, 발생 확률이 낮은 영역은 상대적으로 긴 코드로 나타내는 가변 길이 코딩(variable length coding)을 이용하여 압축한다.
도 3b는 본 발명의 제1실시예에 따른 가변 길이 부호화부의 개략적인 블록도이다.
도 3b를 참조하면, 가변 길이 부호화부(10)는 매크로블록 헤더 부호화부(11)와, 아이템 부호화부(12)를 포함한다.
매크로블록 헤더 부호화부(11)는 하나의 화면(구현에 따라 한 화면내의 슬라이스가 될 수도 있다)의 비디오 데이터를 수신하여, 그 화면내에 포함된 모든 매크로블록 헤더를 수집하여 부호화하고 이를 비디오 패킷의 앞부분에 배열한다.
아이템 부호화부(12)는 화면내에 포함된 블록들의 아이템들을 아이템번호에 따라 아이템 그룹으로 나누고, 아이템 그룹의 순서로 부호화하여 비디오 패킷의 매크로블록 헤더 다음 위치에 배열한다. 하나의 비디오 패킷 내에 그 화면에 들어있는 모든 아이템들이 배치되며, 아이템 부호화부(12)는 이를 비디오 패킷으로 출력한다.
도 5 내지 7을 참조하여 본 발명의 제1실시예에 따라 비디오 패킷을 인코딩하는 방법을 상세히 설명한다.
도 5는 비디오 데이터의 계층적인 구조를 설명하기 위한 참고도이다.
도 5를 참조하면 하나의 비디오 프레임을 나타내는 하나의 비디오 오브젝트 평면(Video Object Plane:VOP)은 예를 들어 352화소 X 288 라인으로 구성된다. 하나의 VOP는 22 X 18개의 매크로블록 단위로 분할된다. 하나의 매크로블록은 16x16 이다. 16x16 매크로블록은 도 0의 오른쪽에 도시된 바와 같이 6개의 블록으로 분할된다. 6개의 블록은 4개의 휘도 신호(Y) 블록과 2개의 색차 신호(Cb, Cr) 블록으로 구성된다.
각 블록의 데이터는 변환계수(Transform Coefficients)와 EOB로 구성된다. 본 명세서에서 이러한 변환계수는 아이템으로 언급한다. EOB는 블록의 끝임을 나타낸다.
한편, 본 발명에서 사용되는 비디오 패킷의 의미는 도 5에 도시된 바와 같은 하나의 VOP가 될 수도 있으며, 또한 이러한 하나의 VOP를 여러 개의 슬라이스로 나누어질 때 그 하나의 슬라이스를 하나의 비디오 패킷으로 할 수도 있다.
도 6은 본 발명의 제1실시예에 따른 데이터 인코딩 순서를 도시하는 도면이다.
도 6을 참조하면, 하나의 비디오 패킷에 포함된 아이템들이 인코딩되는 순서가 도시되어 있다. 하나의 비디오 패킷은 매크로블록 1부터 매크로 블록 N까지 N개의 매크로블록을 포함한다. 각 매크로블록은 매크로블록 헤더(MBH)와 6개의 블록들로 구성된다. 각 블록은 아이템들로 구성되어 있으며, 아이템들의 끝에 EOB가 배열된다. 비디오 패킷내의 각 블록들에 포함된 모든 아이템 1들은 아이템 그룹 1을 구성하고, 각 블록들에 포함된 모든 아이템 2들은 아이템 그룹 2를 구성한다. 이와 같이 블록들 포함된 아이템들중에서 동일한 아이템 번호를 가지는 아이템들이 하나의 아이템 그룹으로 구성된다.
이와 같은 전체적인 구성하에서, 도 1에 도시된 바와 같은 종래 기술에 따르면 매크로블록 1의 블록 1이 인코딩된 다음 블록 2가 인코딩되고, 매크로블록 1이 모두 인코딩된 다음 매크로블록 2가 인코딩되는 순서를 가졌지만, 도 5에 도시된 본 발명의 제1실시예에서는 인코딩 순서가 아이템 그룹 단위로 이루어진다.
즉, 먼저, 비디오 패킷내의 모든 매크로블록의 모든 매크로블록 헤더가 맨 처음 인코딩되고 나서, 비디오 패킷내의 모든 블록들의 첫 번째 아이템들로 이루어진 아이템 그룹 1이 인코딩되고, 첫 번째 아이템들이 모두 인코딩되고 나서 모든 블록들의 두 번째 아이템들로 이루어진 아이템 그룹 2가 인코딩된다. 아이템 그룹 순서로 인코딩이 이루어진다.
도 7은 본 발명의 제1실시예에 따라 인코딩된 비디오 패킷을 도시한다.
도 7의 (a)는 종래 일반적으로 이루어지는 데이터 인코딩 순서를 나타내고 (b)는 본 발명의 제1실시예에 따라 이루어지는 데이터 인코딩 순서를 나타낸다.
(a)를 참조하면, 비디오 패킷에는 매크로블록의 순서대로 인코딩이 되고, 각 매크로블록 내에서는 블록의 순서대로 인코딩이 되며, 블록 내에서는 아이템 순서대로 인코딩이 이루어진다. 즉, 매크로블록 1에 포함된 블록 1의 모든 아이템들이 인코딩되고 나서 블록 2의 모든 아이템들이 인코딩되고, 매크로블록 1에 포함된 블록 6의 모든 아이템들이 인코딩되면 매크로블록 2로 넘어가서, 매크로블록 2에 포함된 블록 1의 모든 아이템들이 인코딩된다.
(b)를 참조하면, 본 발명에 따라 인코딩된 비디오 패킷은 비디오 패킷 헤더와, 매크로블록 헤더와, 매크로 블록 부호화 정보를 포함한다.
비디오 패킷 헤더는 비디오 패킷의 선두에 배열되며, 비디오 패킷 헤더 다음에 이 비디오 패킷내에 포함된 모든 매크로블록의 매크로블록 헤더가 배열된다. 매크로블록 헤더 다음에 매크로블록 부호화 정보가 배열된다. 비디오 패킷내에 포함된 모든 블록들의 첫 번째 아이템 i1 이 먼저 배열되고 난 다음, 비디오 패킷내에 포함된 모든 블록들의 두 번째 아이템 i2가 배열된다. 각 블록을 인코딩하는 순서는 종전과 같지만 아이템의 그룹별로 데이터를 배열하여 저장하고 있다가 하나의 비디오 패킷이 끝나면, 아이템 그룹 순으로 배열하여 하나이 비디오 패킷을 형성한다.
블록내에서 화질에 영향을 주는 중요한 정보들이 주로 앞부분의 아이템들에 배열된다면, 본 발명의 제1실시예에서와 같이 앞부분의 아이템들을 비디오 패킷내의 앞부분에 배열시킴으로써 중요한 정보들을 비디오 패킷내의 앞부분에 위치시킬 수 있다. 따라서, 어떤 원인에 의해 비디오 패킷의 뒷 부분이 잘려나가는 상황이 되더라도 비디오 패킷의 앞 부분에 배열된 중요한 정보들을 이용하여 화질을 저하시키지 않으면서 디코드할 수 있게 된다.
도 3c는 본 발명의 제2실시예에 따른 가변 길이 부호화부의 개략적인 블록도이다.
도 3c를 참조하면, 가변 길이 부호화부(20)는 매크로블록 헤더 부호화부(21)와, 리싱크 마커 삽입부(22)와, 아이템 부호화부(23)를 포함한다.
매크로블록 헤더 부호화부(21)는 하나의 화면(구현에 따라 한 화면내의 슬라이스가 될 수도 있다)의 비디오 데이터를 수신하여, 그 화면내에 포함된 모든 매크로블록 헤더를 수집하여 부호화하고 이를 비디오 패킷의 앞부분에 배열한다.
리싱크 마커 삽입부(22)는 소정의 패턴을 가진 리싱크 마커를 모든 아이템 그룹의 앞에, 비디오 패킷의 매크로블록 헤더 뒤에 배열한다.
아이템 부호화부(23)는 화면내에 포함된 블록들의 아이템들을 아이템번호에 따라 아이템 그룹으로 나누고, 아이템 그룹의 순서로 부호화하는데, 비디오 패킷내에 리싱크 마커가 배열된 위치의 다음 위치에 첫 번째 아이템 그룹을 배열한다.
아이템 부호화부(23)가 첫 번째 아이템 그룹을 비디오 패킷내의 리싱크 마커 다음 위치에 배열하면 리싱크 마커 삽입부(22)는 그 첫 번째 아이템 그룹 다음에 리싱크 마커를 배열한다. 즉, 리싱크 마커 삽입부(22)와 아이템 부호화부(23)는 서로 협동하여 아이템 그룹 사이에 리싱크 마커가 배치되도록 아이템들을 부호화한다. 또한, 아이템 부호화부(23)는 상기 비디오 패킷내의 아이템들중에서 상기 리싱크 마커와 동일한 패턴을 가지는 아이템을 검출하면 상기 아이템을 변형하여 배열한다.
도 10 내지 11을 참조하여 본 발명의 제2실시예에 따라 비디오 패킷을 인코딩하는 방법을 상세히 설명한다.
도 10은 본 발명의 제2실시예에 따른 데이터 인코딩 순서를 도시한다.
도 10을 참조하면, 도 6에 도시된 제1실시예와 거의 동일하고, 각 아이템 그룹들의 선두에 리싱크 마커(Resynchronization marker:RM)를 배열한 점만이 다르다. 이와 같은 리싱크 마커는 디코더의 복잡성을 줄이기 위한 방안으로 도입된 것이다. 이러한 리싱크 마커를 이용하여 아이템 그룹 1의 시작점, 아이템 그룹 2의 시작점 등 각 아이템 그룹들의 시작점을 용이하게 식별할 수 있다.
도 11은 본 발명의 제2실시예에 따라 인코딩된 비디오 패킷을 도시한다.
도 11을 참조하면, 도 7의 (b)에 도시된 비디오 패킷과 모두 동일하며, 다만, 각 아이템 I의 시작점 앞에 리싱크 마커 RM이 배열된 점이 다르다. 즉, 매크로블록 헤더 N의 다음 위치에 아이템 1 들이 배열되기 전에 리싱크 마커가 배열되며, 아이템 1들이 모두 배열되고 난 다음 아이템 2들이 배열되기 전에 리싱크 마커가 배열된다. 도 11에는 각 아이템 i1, i2, i3, i4, i5, i6 앞에 각각 리싱크 마커가 배열되어 총 6개의 리싱크 마커가 들어있다. 이러한 리싱크 마커는 데이터 내에는 존재하지 않는 패턴이어야 한다. 데이터 내에 우연히 리싱크 마커와 동일한 패턴이 나타나면, 비트 스터핑(bit stuffing) 등을 이용하여 즉, 데이터 비트 내에 다른 비트를 더 첨가함으로써 리싱크 마커와 혼동되는 것을 방지할 수 있다.
이와 같이 배열된 리싱크 마커를 이용하여 비디오 패킷 내의 블록 단위로 디코딩을 수행할 수 있다. 도 11을 참조하면, 이제는 리싱크 마커를 각 아이템별로 배열하여 각 아이템별 시작 위치를 용이하게 찾을 수 있다. 따라서, 각 리싱크 마커의 바로 다음 위치에 배열된 것은 매크로블록 1의 블록 1의 i1, i2, i3, i4, i5, i6이므로, 리싱크 마커를 식별하여 이러한 매크로블록 1의 블록 1에 포함된 모든 아이템들을 용이하게 추출할 수 있고, 추출된 블록 1의 아이템들을 이용하여 블록 1을 디코드할 수 있다. 그리고, 각 리싱크 마커의 다음 다음 위치에 배열된 것은 매크로블록 1의 블록 2의 i1, i2, i3, i4, i5, i6이므로, 이러한 매크로블록 1의 블록 2에 포함된 모든 아이템들을 용이하게 추출할 수 있고, 추출된 블록 2의 아이템들을 이용하여 블록 2를 디코드할 수 있다.
도 4a는 본 발명에 따른 비디오 디코더의 개략적인 블록도이다.
도 4a를 참조하면, 비디오 디코더(320)는 가변 길이 복호화부(321), 역양자화부(322), 역 DCT부(323), 움직임 보상부(324)를 포함한다.
가변 길이 복호화부(321)는 양자화된 데이터를 생성하기 위해 가변 길이 복호화 과정의 역과정을 수행한다. 가변 길이 복호화부(321)의 출력 데이터는 움직임 정보, 양자화 스텝 사이즈, 매크로블록의 타입 등과 같은 정보를 포함한다.
역양자화부(322)는 DCT 계수들을 생성하기 위해 가변 길이 복호화부(321)로부터 출력된 데이터를 역 양자화한다.
역 DCT부(323)는 역양자화부(322)로부터 DCT 계수들을 수신하여 inverse discrete cosine transform 동작을 수행하여, 비디오 인코더로 입력되는 오리지널 비디오 신호에 대한 비압축된 움직임 신호를 생성한다.
움직임 보상부(324)는 이러한 비압축된 움직임 보상 신호를 수신하여 비디오 디스플레이로 전송될 비디오 프레임들을 생성한다.
도 4b는 본 발명의 제1실시예에 따른 가변 길이 복호화부의 개략적인 블록도이다.
도 4b를 참조하면, 가변 길이 복호화부(30)는 매크로블록 헤더 복호화부(31)와, 아이템 복호화부(32)를 포함한다.
매크로블록 헤더 복호화부(31)는 도 7의 (b)에 도시된 바와 같이 인코딩된 비디오 패킷을 수신하여 비디오 패킷의 앞 부분에 배열된 모든 매크로블록 헤더를 복호화한다.
아이템 복호화부(32)는 비디오 패킷의 매크로블록 헤더 다음에 배열된 아이템 그룹들을 아이템 그룹 순서대로 복호화한다. 즉, 아이템1 들로 구성된 아이템 그룹 1을 맨 처음 복호화하고, 다음 아이템 2 들로 구성된 아이템 그룹 2를 복호화한다. 다음 아이템 그룹들에 대해서도 마찬가지이다. 이러한 복호화 방법은 흐름도를 참조하여 상세히 후술한다.
도 4c는 본 발명의 제2실시예에 따른 가변 길이 복호화부의 개략적인 블록도이다.
도 4c를 참조하면, 가변 길이 복호화부(40)는 리싱크 마커 식별부(41)와, 매크로블록 헤더 복호화부(42)와, 아이템 복호화부(43)를 포함한다.
리싱크 마커 식별부(41)는 비디오 패킷내에 포함된 모든 리싱크 마커를 찾아서 리싱크 마커가 비디오 패킷내에 배열된 위치 정보를 저장해둔다.
매크로블록 헤더 복호화부(42)는 도 11에 도시된 바와 같이 인코딩된 비디오 패킷을 수신하여 각 매크로블록의 아이템들을 디코드하기 전에 그 매크로블록 헤더를 복호화한다.
아이템 복호화부(43)는 리싱크 마커 식별부(42)에 의해 식별된 리싱크 마커를 참조하여 각 매크로블록내의 블록 내에 포함된 아이템들을 추출하여 가변 길이 디코드한다. 아이템 복호화부(43)는 리싱크 마커를 참조하여 각 매크로블록내의 블록 내에 포함된 아이템들을 찾아 디코드할 수 있기 때문에 하나의 블록이 디코드되면 이 가변 길이 디코드된 블록을 저장할 필요없이 바로 역양자화하고, 역 DCT 하고, 움직임 보상을 수행한다. 이러한 복호화 방법은 흐름도를 참조하여 상세히 후술한다.
도 8은 본 발명의 제1실시예에 따라 인코딩된 비디오 패킷을 디코드하는 방법을 나타내는 개략적인 흐름도이다.
도 8을 참조하면, 비디오 패킷을 수신하면, 먼저 비디오 패킷내의 선두에 배열된 비디오 패킷 헤더를 디코드한다(810).
다음, 비디오 패킷 헤더 다음 위치에 배열된 매크로블록 헤더를 디코드한다(820). 이하에서 설명되는 바와 같이 제1실시예에 따른 디코드 방법에서는 비디오 패킷내의 모든 블록들이 병렬적으로 디코드되므로, 제1실시예에 따른 인코딩 패킷에는 모든 매크로블록 헤더가 매크로블록 부호화 정보 앞에 위치하며, 따라서 단계 820에서는 비디오 패킷내의 모든 매크로블록 헤더를 디코드한다.
다음, 비디오 패킷 내에 데이터들이 아이템 그룹별로 인코딩되어 있으므로, 아이템 그룹내의 모든 아이템들을 디코드한다(830). 모든 블록들의 첫 번째 아이템들로 이루어진 아이템 그룹 1을 디코드한다. 그리고나서 모든 블록들의 두 번째 아이템들로 이루어진 아이템 그룹 2를 디코드한다. 이와 같은 동작은 모든 아이템 그룹들에 대해 반복하여 모든 아이템들을 디코드한다.
다음, 모든 블록들의 아이템들에 대해 가변 길이 디코드가 완료되면 모든 블록들을 역양자화한다(840).
다음, 역양자화된 모든 블록들을 역 DCT 한다(850).
다음, 역 DCT된 모든 블록들에 대해 움직임 보상을 수행한다(860).
도 8에 도시된 디코드 방법을 좀더 구체적으로 설명한다.
도 9는 도 8에 도시된 디코드 방법의 세부적인 흐름도이다.
도 9를 참조하면, 먼저, 비디오 패킷 헤더를 디코드한다(901).
다음, Mbnum을 0으로 초기화한다(902). Mbnum은 이 비디오 패킷 내에 들어있는 매크로블록들의 수를 나타낸다.
다음, 매크로블록 헤더를 디코드한다(903). 다음, Mbnum을 1 증가시키고, 증가시킨 값이 매크로블록들의 수와 같은 지를 비교하여 모든 매크로블록 헤더를 디코드하였는지 판단한다(904). 모든 매크로블록 헤더를 디코드한 경우에는 다음 단계 905로 진행하고, 아닌 경우에는 다음 매크로블록 헤더를 디코드한다. 단계 902 내지 904는 비디오 패킷 내의 모든 매크로블록 헤더를 디코드하는 과정을 나타낸다.
다음, 디코드된 블록의 수 k를 0으로 초기화한다(905).
j 번째 아이템을 나타내는 j를 0으로 초기화한다(906). 예를 들면, 도 5에 도시된 구조에서는 구조의 맨 처음에 있는 첫 번째 아이템들에 대해 j=0이고, 두 번째 아이템들에 대해 j=1이다.
다음, 블록들의 수를 나타내는 i를 0으로 초기화한다(907). 예를 들면, 도 6에 도시된 구조에서는 비디오 패킷내에 매크로블록이 N개 있고, 각 매크로블록 마다 6개의 블록이 있으므로, 블록들의 수는 6N 이 된다.
블록 i의 디코드할 아이템이 없는지를 판단한다(908). 블록 i에서는 모든 아이템들에 대해 디코드가 완료되어 더 이상 디코드할 아이템이 없는지를 판단하는 것이다. 예를 들어, 도 6에 도시된 구조에서 블록 2의 아이템 4를 읽을 차례라면, 블록 2의 아이템 4는 존재하지 않기 때문에 단계 911로 진행한다.
예를 들어, 도 6에 도시된 구조에서 블록 2의 아이템 1을 읽을 차례라면, 블록 2의 아이템 1은 존재하기 때문에 단계 909로 진행한다.
블록 i의 디코드할 아이템이 있는 경우에는 블록 i의 j번째 아이템을 디코드한다(909). 예를 들어, 앞서 예에서와 같이 블록 2의 아이템 1을 디코드하는 것이다.
그리고나서, 블록 i의 EOB를 검출한다(910). 예를 들어, 도 6에 도시된 구조하에서, 단계 909에서 블록 1의 아이템 3을 디코드한 경우라면 아직 EOB는 검출된 것이 아니고 따라서 단계 911로 진행한다.
단계 911에서는, i를 1 증가시키고, 1 증가된 i가 모든 블록의 수와 같은 지를 판단한다(911). i가 모든 블록의 수와 동일하지 않은 경우에는 아직 j번째 아이템내에서 디코드할 블록들이 더 있다는 것이므로 단계 908로 진행하여 j 번째 아이템의 다음 블록들을 계속하여 디코드한다.
i가 모든 블록의 수와 동일한 경우에는 j 번째 아이템내의 모든 블록들에 대해 디코드가 완료된 것을 나타내므로 다음 j+1번째 아이템을 디코드하기 위해 단계 912로 진행한다.
단계 912에서 j를 1 증가시키고, 블록들의 수 i를 0으로 초기화한다(907).
단계 910에서 블록 i의 EOB를 검출한 경우, 예를 들어, 단계 909에서 블록 2의 아이템 3을 디코드한 경우에, 블록 2의 아이템 3은 EOB 이기 때문에, 단계 910에서 블록 i의 EOB를 검출한다(910). 이 경우에는 k를 1 증가시키고, 1 증가된 k가 모든 블록의 수와 동일한지를 판단한다(913). 즉, EOB를 검출했다는 것은 이 EOB가 검출된 블록은 디코드가 완료된 블록이므로 디코드된 블록의 수를 증가시키기 위해 k를 1 증가시키는 것이다. 또한 k가 모든 블록의 수와 동일하면, 즉, 모든 블록에 대해서 디코드가 완료되었다는 의미이므로 단계 914로 진행하여 역양자화과정을 수행하고, k가 모든 블록의 수와 동일하지 않으면, 아직 디코드가 완료되지 않은 블록이 남았다는 것이므로, 단계 911로 진행하여 디코드 과정을 계속한다.
단계 908에서, 예를 들어, 예를 들어, 도 6에 도시된 구조에서 블록 2의 아이템 4를 읽을 차례라면, 블록 2의 아이템 4는 존재하지 않기 때문에 단계 811로 진행한다. 즉, 더 이상 읽을 아이템이 없기 때문에 i를 1 증가시켜 해당 아이템내에서 다음 블록을 읽을 수 있도록 한다.
단계 913에서 모든 블록들에 대해 디코드가 완료된 경우에 디코드된 모든 블록들을 역양자화하고(914), 다음 역양자화된 모든 블록들을 역 DCT하고(915), 역 DCT된 모든 블록들을 움직임 보상 수행한다(916). 이와 같이 움직임 보상 까지 수행되면 이 비디오 패킷은 모두 디코드된 것이므로, 다음 비디오 패킷을 수신하여 단계 901로 진행한다.
여기까지 설명된 동작 흐름은 비디오 디코더가 하나의 완전한 비디오 패킷을 수신하였을 때의 정식 디코드 흐름이다.
비디오 디코더가 하나의 완전한 비디오 패킷을 수신한 것이 아니라 뒷부분이 잘려진 비디오 패킷을 수신한 경우에도 본 발명의 제1실시예에 의해 비디오 패킷을 유효하게 디코드할 수 있다.
단계 909에서 블록 i의 j 번째 아이템을 디코드하는 도중이나 디코드하고 나서 비디오 디코더는 비디오 패킷의 끝을 나타내는 식별 정보를 검출할 수도 있다. 예를 들어, 현재 비디오 패킷의 블록들이 다 디코드되지 않은 상태에서 다음 비디오 패킷의 헤더가 검출된다면 비디오 디코더는 현재 비디오 패킷이 끝났음을 알 수 있다.
이러한 경우에는 다음 단계 910으로 진행되지 않고, 914 단계로 진행한다. 즉, 여기까지 디코드된 블록들만을 가지고 역양자화, 역 DCT, 움직임 보상을 수행한다. 중요한 정보들을 가지는 아이템들을 비디오 패킷의 앞부분에 배열하므로, 비디오 패킷의 뒷 부분까지 다 디코드되지 않더라도 앞부분에 배열된 아이템들을 이용하여 화질의 저하없이 재생할 수 있게 된다.
도 12는 본 발명의 제2실시예에 따라 인코딩된 비디오 패킷을 디코드하는 방법을 나타내는 개략적인 흐름도이다.
도 12를 참조하면, 비디오 패킷 헤더를 디코드한다(1210).
다음, 모든 리싱크 마커를 찾는다(1220). 즉, 찾아진 리싱크 마커의 위치를 메모리 등에 저장해둔다.
다음, 매크로블록 헤더를 디코드한다(1230).
그리고, 매크로블록 내의 블록 단위로 블록내의 아이템들을 디코드하고, 역양자화하고, 역 DCT하고, 움직임 보상을 수행한다(1240). 블록 단위로 단계 1240의 과정을 수행하고, 이를 매크로 블록내의 모든 블록들에 대해 행해질 때까지 반복한다. 이러한 반복 과정이 완료되면 하나의 매크로블록 디코드가 완료된다.
그리고 단계 1230을 모든 매크로블록에 대해 반복한다. 이러한 반복 과정이 완료되면 비디오 패킷내의 모든 매크로블록 디코드가 완료된다.
도 13은 도 12에 도시된 디코드 방법의 세부적인 흐름도이다.
먼저, 비디오 패킷 헤더를 디코드한다(1301). 다음, 모든 리싱크 마커를 찾는다(1302).
다음, 매크로블록의 수를 나타내는 k를 0으로 초기화한다(1303).
다음, 매크로블록 헤더를 디코드한다(1304).
다음, 매크로블록 내에 포함된 블록들의 수를 나타내는 i를 0으로 초기화한다(1305).
블록 i 내에서 j 번째 아이템을 나타내는 j를 0으로 초기화한다(1306).
다음, 블록 i의 디코드할 아이템이 없는지를 판단한다(1307). 디코드할 아이템이 있는 경우에는 블록 i의 아이템 j를 디코드하고(1308), 다음 아이템을 읽기 위해 j를 1 증가시키고 다시 단계 1307로 진행한다.
디코드할 아이템이 없는 경우에, 예를 들어, 도 10에 도시된 구조에서 매크로블록 1의 블록 2의 경우 블록 2의 3번째 아이템이 EOB 이므로, 3번째 아이템까지 모두 디코드하면 더 이상 디코드할 아이템이 없고, 이 경우에는 단계 1309로 진행하여 디코드된 블록 즉 아이템 1과 아이템 2, EOB로 이루어진 블록 2를 역양자화하고(1309), 역양자화된 블록을 역 DCT하고(1310), 역 DCT된 블록을 움직임 보상한다(1311).
그리고나서, 매크로블록의 k의 다음 블록을 읽기 위해 단계 1312로 진행한다. 즉, 단계 1312에서 현재 블록의 i의 다음 블록을 읽기 위해 i를 1 증가시키고, i가 모든 블록의 수와 같은지를 판단한다. i가 모든 블록의 수와 같지 않은 경우에는 아직 현재 매크로블록 k내에서 디코드할 블록이 더 남아있다는 것이므로, 다음 블록을 디코드하기 위해 단계 1305로 진행한다.
그리고, i가 모든 블록의 수와 같은 경우에는, 현재 매크로블록 k내의 모든 블록이 디코드되었다는 것이므로 다음 매크로블록을 읽기 위해 단계 1313으로 진행한다. 단계 1313에서는 다음 매크로블록을 읽기 위해 k를 1 증가시키고, k가 모든 매크로블록의 수와 같은지를 판단한다.
k가 모든 매크로블록의 수와 같지 않은 경우에는 현재 비디오 패킷내에 아직 디코드되지 않은 매크로블록이 남아있다는 것이므로, 단계 1304로 진행하여 다음 매크로블록을 읽도록 진행한다.
k가 모든 매크로블록의 수와 같은 경우에는 현재 비디오 패킷내의 모든 매크로블록이 디코드된 것이므로 다음 비디오 패킷을 읽고 단계 1301로 진행한다.
여기까지 설명된 동작 흐름은 비디오 디코더가 하나의 완전한 비디오 패킷을 수신하였을 때의 정식 디코드 흐름이다.
비디오 디코더가 하나의 완전한 비디오 패킷을 수신한 것이 아니라 뒷부분이 잘려진 비디오 패킷을 수신한 경우에도 본 발명의 제2실시예에 의해 비디오 패킷을 유효하게 디코드할 수 있다.
도 13에서, 1308 단계에서 블록 i의 j 번째 아이템을 디코드하는 도중이나 디코드하고 나서 비디오 디코더는 비디오 패킷의 끝을 나타내는 것임을 알 수 있다. 예를 들어, 현재 비디오 패킷의 블록들이 다 디코드되지 않은 상태에서 다음 비디오 패킷의 헤더가 검출되거나 네트워크를 통해 수신한 패킷의 끝이면, 비디오 디코더는 현재 비디오 패킷이 끝났음을 알 수 있다. 이러한 경우에는 다음 단계 1307로 진행되지 않고, 단계 1309로 진행한다. 즉, 여기까지 디코드된 블록들만을 가지고 역양자화, 역 DCT, 움직임 보상을 수행한다.
예를 들어, 도 10에 도시된 구조에서, 하나의 완전한 비디오 패킷이 수신된 것이 아니라 비디오 패킷 내의 앞부분 즉, 아이템 3들로 이루어진 데이터 열까지만 수신되고, 아이템 4들로 이루어진 데이터 열부터는 잘려져서 수신되지 않은 경우, 본 발명의 제2실시예의 디코드 방법에 따라서 비디오 패킷내에 포함된 각 블록은 아이템 1, 아이템 2, 아이템 3 들만 포함하고, 따라서 이들 아이템들만을 가지고 디코드를 수행한다. 그런데, 앞서 설명한 바와 같이 중요한 정보들을 가지는 아이템들이 비디오 패킷의 앞부분에 배열되므로, 비디오 패킷의 뒷 부분까지 다 디코드되지 않더라도 앞부분에 배열된 아이템들을 이용하여 화질의 저하없이 재생할 수 있게 된다.
본 발명은 하나의 블록이나 매크로블록이 하나의 아이템도 없는 "no code"의 경우에도 적용될 수 있다. 이전 화면의 같은 위치의 데이터와 꼭 같은 경우가 이에 해당하는데, 이에 관한 정보는 모두 매크로블록 헤더 정보 등에 들어가 있으므로, 본 발명의 적용에 문제가 되지 않는다.
또한, 본 발명은 DCT 기반 블록 코딩 방식뿐만 아니라, 화면을 복수개의 블록으로 나누고, 각 블록이 순차적으로 인코딩되며, 인코딩된 블록은 한 개 이상의 의미있는 구분가능한 아이템으로 구성되는 모든 인코딩 방식에 적용될 수 있다.
이상 설명한 바와 같은 인코딩/디코딩 방법은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 상기 인코딩/디코딩 방법을 구현하기 위한 기능적인(function) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
이상과 같은 본 발명에 의하면 기존의 FGS와 같은 기능을 하면서도, 도 13에 도시된 바와 같이 율-왜곡 특성이 매우 우수하다.
도 13은 본 발명과 종래 기술에 따른 FGS의 율-왜곡 그래프를 나타낸다. 도 13을 참조하면, 본 발명에 따른 디코딩 방법이 종래의 FGS 기술보다 약 3dB 정도 이득이 얻어짐을 알 수 있다.
또한, 기존의 단일 계층 인코딩 방식과 비교해서 율-왜곡 특성이 같으면서도, FGS 기능을 할 수 있다.
도 1은 종래 기술에 따른 단일 계층 인코딩/디코딩 순서를 도시하는 도면,
도 2는 본 발명의 일 실시예에 따라 비디오 전송기로부터 데이터 네트워크를 통하여 비디오 수신기로 비디오 스트림을 전송하는 비디오 스트림 전송 시스템의 구성도,
도 3a는 본 발명에 따른 비디오 인코더의 개략적인 블록도,
도 3b는 본 발명의 제1실시예에 따른 가변 길이 부호화부의 개략적인 블록도,
도 3c는 본 발명의 제2실시예에 따른 가변 길이 부호화부의 개략적인 블록도,
도 4a는 본 발명에 따른 비디오 디코더의 개략적인 블록도,
도 4b는 본 발명의 제1실시예에 따른 가변 길이 복호화부의 개략적인 블록도,
도 4c는 본 발명의 제2실시예에 따른 가변 길이 복호화부의 개략적인 블록도,
도 5는 본 발명이 적용되는 비디오 데이터의 계층적인 구조를 설명하기 위한 참고도,
도 6은 본 발명의 제1실시예에 따른 데이터 인코딩 순서를 도시하는 도면,
도 7은 본 발명의 제1실시예에 따라 인코딩된 비디오 패킷을 도시하는 도면,
도 8은 본 발명의 제1실시예에 따라 인코딩된 비디오 패킷을 디코드하는 방법을 나타내는 개략적인 흐름도,
도 9는 도 8에 도시된 디코드 방법의 세부적인 흐름도,
도 10은 본 발명의 제2실시예에 따른 데이터 인코딩 순서를 도시하는 도면,
도 11은 본 발명의 제2실시예에 따라 인코딩된 비디오 패킷을 도시하는 도면,
도 12는 본 발명의 제2실시예에 따라 인코딩된 비디오 패킷을 디코드하는 방법을 나타내는 개략적인 흐름도,
도 13은 도 12에 도시된 디코드 방법의 세부적인 흐름도,
도 14는 본 발명과 종래 기술에 따른 FGS의 율-왜곡 그래프.
Claims (40)
- 비디오 인코더에 있어서,비디오 패킷을 구성하는 매크로블록들내의 블록들에 포함된 아이템들중에서 상대적으로 의미있는 아이템들을 상기 비디오 패킷의 앞 부분에 배열하고, 상대적으로 덜 의미있는 아이템들을 상기 비디오 패킷의 뒷 부분에 배열하여 인코딩하는 인코딩부를 포함하는 것을 특징으로 하는 비디오 인코더.
- 제1항에 있어서,상기 상대적으로 의미있는 아이템들은 각 블록의 앞 부분에 위치된 아이템들이고, 상기 상대적으로 덜 의미있는 아이템들은 각 블록의 뒷 부분에 위치된 아이템들인 것을 특징으로 하는 비디오 인코더.
- 제1항에 있어서,상기 인코딩부는, 상기 비디오 패킷내에서 상기 아이템들의 앞 부분에 상기 비디오 패킷내에 포함된 모든 매크로블록 헤더들을 더 배열하는 인코딩하는 것을 특징으로 하는 비디오 인코더.
- 비디오 인코더에 있어서,비디오 패킷을 구성하는 매크로블록들내의 블록들에 포함된 아이템들중에서 동일한 아이템 번호를 가지는 아이템들로 이루어진 아이템 그룹들중에서 상대적으로 의미있는 아이템들을 가지는 아이템 그룹들을 상기 비디오 패킷의 앞 부분에 배열하고, 상대적으로 덜 의미있는 아이템들을 가지는 아이템 그룹들을 상기 비디오 패킷의 뒷 부분에 배열하며, 상기 서로 다른 아이템 그룹을 식별하기 위한 리싱크 마커들을 상기 아이템 그룹들 사이에 배열하여 인코딩하는 인코딩부를 포함하는 것을 특징으로 하는 비디오 인코더.
- 제4항에 있어서,상기 상대적으로 의미있는 아이템들은 각 블록의 앞 부분에 위치된 아이템들이고, 상기 상대적으로 덜 의미있는 아이템들은 각 블록의 뒷 부분에 위치된 아이템들인 것을 특징으로 하는 비디오 인코더.
- 제4항에 있어서,상기 인코딩부는, 상기 비디오 패킷내에서 상기 아이템 그룹들의 앞 부분에 상기 비디오 패킷내에 포함된 모든 매크로블록 헤더들을 더 배열하여 인코딩하는 것을 특징으로 하는 비디오 인코더.
- 제5항에 있어서,상기 인코딩부는, 상기 비디오 패킷내에서 아이템들중에서 상기 리싱크 마커와 동일한 패턴을 가지는 아이템을 검출하면 상기 아이템을 변형하여 배열하는 것을 특징으로 하는 비디오 인코더.
- 비디오 디코더에 있어서,비디오 패킷을 구성하는 매크로블록들내의 블록들에 포함된 아이템들중에서 상대적으로 의미있는 아이템들이 상기 비디오 패킷의 앞 부분에 배열되고, 상대적으로 덜 의미있는 아이템들이 상기 비디오 패킷의 뒷 부분에 배열된 비디오 패킷을 수신하여 상기 비디오 패킷내에 배열된 아이템들의 순서로 상기 아이템들을 디코드하는 디코딩부를 포함하는 것을 특징으로 하는 비디오 디코더.
- 제8항에 있어서,상기 상대적으로 의미있는 아이템들은 각 블록의 앞 부분에 위치된 아이템들이고, 상기 상대적으로 덜 의미있는 아이템들은 각 블록의 뒷 부분에 위치된 아이템들인 것을 특징으로 하는 비디오 디코더.
- 제8항에 있어서,상기 디코딩부는, 상기 아이템들을 디코드하기 전에 상기 비디오 패킷내에 포함된 모든 매크로블록 헤더들을 디코드하는 것을 특징으로 하는 비디오 디코더.
- 비디오 디코더에 있어서,비디오 패킷을 구성하는 매크로블록들내의 블록들에 포함된 아이템들중에서 상대적으로 의미있는 아이템들이 상기 비디오 패킷의 앞 부분에 배열되고, 상대적으로 덜 의미있는 아이템들이 상기 비디오 패킷의 뒷 부분에 배열된 비디오 패킷을 수신하여 상기 비디오 패킷내에 배열된 아이템들의 순서로 상기 아이템들을 가변 길이 디코드하는 가변 길이 디코딩부와,상기 가변 길이 디코딩부로부터 수신된 상기 비디오 패킷내의 디코딩된 모든 블록들을 역양자화하는 역양자화부와,상기 역양자화된 모든 블록들을 역 DCT 수행하는 역 DCT부와,상기 역 DCT된 모든 블록들을 움직임 보상하는 움직임 보상부를 더 포함하는 것을 특징으로 하는 비디오 디코더.
- 제11항에 있어서,상기 가변 길이 디코딩부가, 상기 비디오 패킷내에 포함된 아이템들을 모두 가변 길이 디코드하기 전 소정 시점에서 상기 비디오 패킷의 끝을 나타내는 정보를 검출한 경우 상기 소정 시점까지 가변 길이 디코드된 블록들을 상기 역양자화부로 출력하는 것을 특징으로 하는 비디오 디코더.
- 비디오 디코더에 있어서,비디오 패킷을 구성하는 매크로블록블내의 블록들에 포함된 아이템들중에서 동일한 아이템 번호를 가지는 아이템들로 이루어진 아이템 그룹들중에서 상대적으로 의미있는 아이템들을 가지는 아이템 그룹들이 상기 비디오 패킷의 앞 부분에 배열되고, 상대적으로 덜 의미있는 아이템들을 가지는 아이템 그룹들이 상기 비디오 패킷의 뒷 부분에 배열되며, 상기 아이템 그룹들 사이에 상기 서로 다른 아이템 그룹을 식별하기 위한 리싱크 마커들이 배열된 비디오 패킷을 수신하는 수신부와,상기 비디오 패킷내에 배열된 리싱크 마커들을 식별하는 리싱크 마커 식별부와,상기 식별된 리싱크 마커들을 참조하여 상기 비디오 패킷내의 아이템들을 디코드하는 디코딩부를 포함하는 것을 특징으로 하는 비디오 디코더.
- 제13항에 있어서,상기 상대적으로 의미있는 아이템들은 각 블록의 앞 부분에 위치된 아이템들이고, 상기 상대적으로 덜 의미있는 아이템들은 각 블록의 뒷 부분에 위치된 아이템들인 것을 특징으로 하는 비디오 디코더.
- 제13항에 있어서,상기 디코딩부는 상기 식별된 리싱크 마커를 참조하여 상기 비디오 패킷내의 매크로블록내의 블록 단위로 상기 아이템들을 디코딩하는 것을 특징으로 하는 비디오 디코더.
- 제15항에 있어서,상기 디코딩부는, 상기 매크로블록을 디코드하기 전에 상기 매크로블록의 매크로블록 헤더를 디코드하는 것을 특징으로 하는 비디오 디코더.
- 비디오 디코더에 있어서,비디오 패킷을 구성하는 매크로블록블내의 블록들에 포함된 아이템들중에서 동일한 아이템 번호를 가지는 아이템들로 이루어진 아이템 그룹들중에서 상대적으로 의미있는 아이템들을 가지는 아이템 그룹들이 상기 비디오 패킷의 앞 부분에 배열되고, 상대적으로 덜 의미있는 아이템들을 가지는 아이템 그룹들이 상기 비디오 패킷의 뒷 부분에 배열되며, 상기 아이템 그룹들 사이에 상기 서로 다른 아이템 그룹을 식별하기 위한 리싱크 마커들이 배열된 비디오 패킷을 수신하여, 상기 비디오 패킷내에 배열된 리싱크 마커들을 식별하고, 상기 식별된 리싱크 마커들을 참조하여 상기 비디오 패킷내의 아이템들을 가변 길이 디코드하는 가변 길이 디코딩부와,상기 가변 길이 디코딩부로부터 수신된 가변 길이 디코딩된 아이템들을 블록 단위로 역양자화하는 역양자화부와,상기 역양자화된 블록을 역 DCT 수행하는 역 DCT부와,상기 역 DCT된 블록을 움직임 보상하는 움직임 보상부를 더 포함하는 것을 특징으로 하는 비디오 디코더.
- 제17항에 있어서,상기 가변 길이 디코딩부가, 상기 비디오 패킷내에 포함된 아이템들을 모두 가변 길이 디코드하기 전 소정 시점에서 상기 비디오 패킷의 끝을 나타내는 정보를 검출한 경우 상기 소정 시점까지 디코드된 아이템들을 상기 역양자화부로 출력하는 것을 특징으로 하는 비디오 디코더.
- 비디오 인코딩 방법에 있어서,비디오 패킷을 구성하는 매크로블록들내의 블록들에 포함된 아이템들중에서 상대적으로 의미있는 아이템들을 상기 비디오 패킷의 앞 부분에 배열하고, 상대적으로 덜 의미있는 아이템들을 상기 비디오 패킷의 뒷 부분에 배열하여 인코딩하는 단계를 포함하는 것을 특징으로 하는 비디오 인코딩 방법.
- 제19항에 있어서,상기 상대적으로 의미있는 아이템들은 각 블록의 앞 부분에 위치된 아이템들이고, 상기 상대적으로 덜 의미있는 아이템들은 각 블록의 뒷 부분에 위치된 아이템들인 것을 특징으로 하는 비디오 인코딩 방법.
- 제19항에 있어서,상기 인코딩 단계는,상기 비디오 패킷내에서 상기 아이템들의 앞 부분에 상기 비디오 패킷내에 포함된 모든 매크로블록 헤더들을 배열하는 단계를 더 포함하는 것을 특징으로 하는 비디오 인코딩 방법.
- 비디오 인코딩 방법에 있어서,비디오 패킷을 구성하는 매크로블록들내의 블록들에 포함된 아이템들중에서 동일한 아이템 번호를 가지는 아이템들로 이루어진 아이템 그룹들중에서 상대적으로 의미있는 아이템들을 가지는 아이템 그룹들을 상기 비디오 패킷의 앞 부분에 배열하고, 상대적으로 덜 의미있는 아이템들을 가지는 아이템 그룹들을 상기 비디오 패킷의 뒷 부분에 배열하며, 상기 서로 다른 아이템 그룹을 식별하기 위한 리싱크 마커들을 상기 아이템 그룹들 사이에 배열하여 인코딩하는 단계를 포함하는 것을 특징으로 하는 비디오 인코딩 방법.
- 제22항에 있어서,상기 상대적으로 의미있는 아이템들은 각 블록의 앞 부분에 위치된 아이템들이고, 상기 상대적으로 덜 의미있는 아이템들은 각 블록의 뒷 부분에 위치된 아이템들인 것을 특징으로 하는 비디오 인코딩 방법.
- 제22항에 있어서,상기 인코딩 단계는,상기 비디오 패킷내에서 상기 아이템 그룹들의 앞 부분에 상기 비디오 패킷내에 포함된 모든 매크로블록 헤더들을 더 배열하는 인코딩하는 단계를 더 포함하는 것을 특징으로 하는 비디오 인코딩 방법.
- 제22항에 있어서,상기 인코딩 단계는,상기 비디오 패킷내에서 아이템들중에서 상기 리싱크 마커와 동일한 패턴을 가지는 아이템을 검출하면 상기 아이템을 변형하여 배열하는 단계를 더 포함하는 것을 특징으로 하는 비디오 인코딩 방법.
- 비디오 디코딩 방법에 있어서,비디오 패킷을 구성하는 매크로블록들내의 블록들에 포함된 아이템들중에서 상대적으로 의미있는 아이템들이 상기 비디오 패킷의 앞 부분에 배열되고, 상대적으로 덜 의미있는 아이템들이 상기 비디오 패킷의 뒷 부분에 배열된 비디오 패킷을 수신하는 단계와,상기 비디오 패킷내에 배열된 아이템들의 순서로 상기 아이템들을 디코드하는 단계를 포함하는 것을 특징으로 하는 비디오 디코딩 방법.
- 제26항에 있어서,상기 상대적으로 의미있는 아이템들은 각 블록의 앞 부분에 위치된 아이템들이고, 상기 상대적으로 덜 의미있는 아이템들은 각 블록의 뒷 부분에 위치된 아이템들인 것을 특징으로 하는 비디오 디코딩 방법.
- 제27항에 있어서,상기 디코딩 단계는,상기 아이템들을 디코드하기 전에 상기 비디오 패킷내에 포함된 모든 매크로블록 헤더들을 디코드하는 단계를 더 포함하는 것을 특징으로 하는 비디오 디코딩 방법.
- 비디오 디코딩 방법에 있어서,비디오 패킷을 구성하는 매크로블록들내의 블록들에 포함된 아이템들중에서 상대적으로 의미있는 아이템들이 상기 비디오 패킷의 앞 부분에 배열되고, 상대적으로 덜 의미있는 아이템들이 상기 비디오 패킷의 뒷 부분에 배열된 비디오 패킷을 수신하여, 상기 비디오 패킷내에 배열된 아이템들의 순서로 상기 아이템들을 가변 길이 디코드하는 단계와,상기 가변 길이 디코드된 상기 비디오 패킷내의 디코딩된 모든 블록들을 역양자화하는 단계와,상기 역양자화된 모든 블록들을 역 DCT 수행하는 단계와,상기 역 DCT된 모든 블록들을 움직임 보상하는 단계를 더 포함하는 것을 특징으로 하는 비디오 디코딩 방법.
- 제29항에 있어서,상기 가변 길이 디코딩 단계는,상기 비디오 패킷내에 포함된 아이템들을 모두 가변 길이 디코드하기 전 소정 시점에서 상기 비디오 패킷의 끝을 나타내는 정보를 검출한 경우 상기 소정 시점까지 디코드된 블록들을 상기 역양자화를 위해 출력하는 단계를 더 포함하는 것을 특징으로 하는 비디오 디코딩 방법.
- 비디오 디코딩 방법에 있어서,비디오 패킷을 구성하는 매크로블록블내의 블록들에 포함된 아이템들중에서 동일한 아이템 번호를 가지는 아이템들로 이루어진 아이템 그룹들중에서 상대적으로 의미있는 아이템들을 가지는 아이템 그룹들이 상기 비디오 패킷의 앞 부분에 배열되고, 상대적으로 덜 의미있는 아이템들을 가지는 아이템 그룹들이 상기 비디오 패킷의 뒷 부분에 배열되며, 상기 아이템 그룹들 사이에 상기 서로 다른 아이템 그룹을 식별하기 위한 리싱크 마커들이 배열된 비디오 패킷을 수신하는 단계와,상기 비디오 패킷내에 배열된 리싱크 마커들을 식별하는 단계와,상기 식별된 리싱크 마커들을 참조하여 상기 비디오 패킷내의 아이템들을 디코드하는 단계를 포함하는 것을 특징으로 하는 비디오 디코딩 방법.
- 제31항에 있어서,상기 상대적으로 의미있는 아이템들은 각 블록의 앞 부분에 위치된 아이템들이고, 상기 상대적으로 덜 의미있는 아이템들은 각 블록의 뒷 부분에 위치된 아이템들인 것을 특징으로 하는 비디오 디코딩 방법.
- 제32항에 있어서,상기 디코딩 단계는,상기 식별된 리싱크 마커를 참조하여 상기 비디오 패킷내의 매크로블록내의 블록 단위로 상기 아이템들을 디코딩하는 것을 특징으로 하는 비디오 디코딩 방법.
- 제33항에 있어서,상기 디코딩 단계는,상기 매크로블록을 디코드하기 전에 상기 매크로블록의 매크로블록 헤더를 디코드하는 단계를 더 포함하는 것을 특징으로 하는 비디오 디코딩 방법.
- 비디오 디코딩 방법에 있어서,비디오 패킷을 구성하는 매크로블록블내의 블록들에 포함된 아이템들중에서 동일한 아이템 번호를 가지는 아이템들로 이루어진 아이템 그룹들중에서 상대적으로 의미있는 아이템들을 가지는 아이템 그룹들이 상기 비디오 패킷의 앞 부분에 배열되고, 상대적으로 덜 의미있는 아이템들을 가지는 아이템 그룹들이 상기 비디오 패킷의 뒷 부분에 배열되며, 상기 아이템 그룹들 사이에 상기 서로 다른 아이템 그룹을 식별하기 위한 리싱크 마커들이 배열된 비디오 패킷을 수신하는 단계와,상기 비디오 패킷내에 배열된 리싱크 마커들을 식별하고, 상기 식별된 리싱크 마커들을 참조하여 상기 비디오 패킷내의 아이템들을 가변 길이 디코드하는 단계와,상기 가변 길이 디코딩된 아이템들을 블록 단위로 역양자화하는 단계와,상기 역양자화된 블록을 역 DCT 수행하는 단계와,상기 역 DCT된 블록을 움직임 보상하는 단계를 더 포함하는 것을 특징으로 하는 비디오 디코딩 방법.
- 제35항에 있어서,상기 디코딩 단계는,상기 비디오 패킷내에 포함된 아이템들을 모두 가변 길이 디코드하기 전 소정 시점에서 상기 비디오 패킷의 끝을 나타내는 정보를 검출한 경우 상기 소정 시점까지 가변 길이 디코드된 아이템들을 역양자화를 위해 출력하는 단계를 더 포함하는 것을 특징으로 하는 비디오 디코딩 방법.
- 비디오 디코딩 방법을 수행하는 프로그램이 기록된 컴퓨터 판독가능한 기록매체에 있어서, 상기 비디오 디코딩 방법은,비디오 패킷을 구성하는 매크로블록들내의 블록들에 포함된 아이템들중에서 상대적으로 의미있는 아이템들이 상기 비디오 패킷의 앞 부분에 배열되고, 상대적으로 덜 의미있는 아이템들이 상기 비디오 패킷의 뒷 부분에 배열된 비디오 패킷을, 상기 비디오 패킷내에 배열된 아이템들의 순서로 상기 아이템들을 디코드하는 단계를 포함하는 것을 특징으로 하는 기록 매체.
- 비디오 디코딩 방법을 수행하는 프로그램이 기록된 컴퓨터 판독가능한 기록 매체에 있어서, 상기 비디오 디코딩 방법은,비디오 패킷을 구성하는 매크로블록블내의 블록들에 포함된 아이템들중에서 동일한 아이템 번호를 가지는 아이템들로 이루어진 아이템 그룹들중에서 상대적으로 의미있는 아이템들을 가지는 아이템 그룹들이 상기 비디오 패킷의 앞 부분에 배열되고, 상대적으로 덜 의미있는 아이템들을 가지는 아이템 그룹들이 상기 비디오 패킷의 뒷 부분에 배열되며, 상기 아이템 그룹들 사이에 상기 서로 다른 아이템 그룹을 식별하기 위한 리싱크 마커들이 배열된 비디오 패킷을 수신하는 단계와,상기 비디오 패킷내에 배열된 리싱크 마커들을 식별하는 단계와,상기 식별된 리싱크 마커들을 참조하여 상기 비디오 패킷내의 아이템들을 디코드하는 단계를 포함하는 것을 특징으로 하는 기록 매체.
- 네트워크를 통해서 전송되는 비디오 패킷의 데이터 구조가 기록된 기록 매체에 있어서, 상기 비디오 패킷의 데이터 구조는,비디오 패킷을 구성하는 매크로블록들내의 블록들에 포함된 아이템들중에서 상대적으로 의미있는 아이템들이 상기 비디오 패킷의 앞 부분에 배열되고, 상대적으로 덜 의미있는 아이템들이 상기 비디오 패킷의 뒷 부분에 배열되는 것을 특징으로 하는 기록 매체.
- 네트워크를 통해서 전송되는 비디오 패킷의 데이터 구조가 기록된 기록 매체에 있어서, 상기 비디오 패킷의 데이터 구조는,비디오 패킷을 구성하는 매크로블록블내의 블록들에 포함된 아이템들중에서 동일한 아이템 번호를 가지는 아이템들로 이루어진 아이템 그룹들중에서 상대적으로 의미있는 아이템들을 가지는 아이템 그룹들이 상기 비디오 패킷의 앞 부분에 배열되고, 상대적으로 덜 의미있는 아이템들을 가지는 아이템 그룹들이 상기 비디오 패킷의 뒷 부분에 배열되며, 상기 아이템 그룹들 사이에 상기 서로 다른 아이템 그룹을 식별하기 위한 리싱크 마커들이 배열되는 것을 특징으로 하는 기록 매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/073,898 US8014451B2 (en) | 2004-03-08 | 2005-03-08 | Video encoder/decoder with macroblock arrangement of significant item |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US55032204P | 2004-03-08 | 2004-03-08 | |
US60/550,322 | 2004-03-08 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20050090302A true KR20050090302A (ko) | 2005-09-13 |
Family
ID=37272395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040017165A KR20050090302A (ko) | 2004-03-08 | 2004-03-13 | 비디오 인코더/디코더, 비디오 인코딩/디코딩 방법, 그방법을 수행하는 프로그램이 기록된 컴퓨터 판독가능한기록매체 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8014451B2 (ko) |
KR (1) | KR20050090302A (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101065228B1 (ko) * | 2006-07-13 | 2011-09-16 | 퀄컴 인코포레이티드 | 사이클-정렬된 프래그먼트를 이용하는 fgs 비디오 코딩 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2593783A1 (en) * | 2005-01-11 | 2006-07-20 | Qualcomm Incorporated | Methods and apparatus for transmitting layered and non-layered data via layered modulation |
KR101224256B1 (ko) * | 2005-10-14 | 2013-01-18 | 한양대학교 산학협력단 | 레이저 기반의 이동 단말을 위한 다중채널의 장면구성 제어방법 및 장치 |
KR100772868B1 (ko) * | 2005-11-29 | 2007-11-02 | 삼성전자주식회사 | 복수 계층을 기반으로 하는 스케일러블 비디오 코딩 방법및 장치 |
WO2009150808A1 (ja) * | 2008-06-10 | 2009-12-17 | パナソニック株式会社 | 画像復号装置および画像符号化装置 |
US8988531B2 (en) * | 2010-07-08 | 2015-03-24 | Texas Instruments Incorporated | Method and apparatus for sub-picture based raster scanning coding order |
JP5469127B2 (ja) * | 2011-05-30 | 2014-04-09 | 富士フイルム株式会社 | 画像データ符号化装置ならびにその動作制御方法およびそのプログラム |
US9892188B2 (en) * | 2011-11-08 | 2018-02-13 | Microsoft Technology Licensing, Llc | Category-prefixed data batching of coded media data in multiple categories |
DK2805464T3 (en) * | 2012-01-20 | 2016-07-04 | Sonova Ag | Wireless audio transmission and method |
WO2013152176A1 (en) | 2012-04-04 | 2013-10-10 | Massachusetts Institute Of Technology | Monolithic integration of cmos and non-silicon devices |
CN104717501A (zh) * | 2012-09-28 | 2015-06-17 | 英特尔公司 | 层间像素样本预测 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6581170B1 (en) | 1997-10-23 | 2003-06-17 | Sony Corporation | Source coding to provide for robust error recovery during transmission losses |
CN1668111A (zh) * | 1997-12-01 | 2005-09-14 | 三星电子株式会社 | 运动向量预测方法 |
KR100299484B1 (ko) | 1997-12-31 | 2001-10-27 | 구자홍 | 영상부호화및복호화방법과장치 |
US6393060B1 (en) * | 1997-12-31 | 2002-05-21 | Lg Electronics Inc. | Video coding and decoding method and its apparatus |
DE19860531C1 (de) * | 1998-12-30 | 2000-08-10 | Univ Muenchen Tech | Verfahren zur Übertragung codierter digitaler Signale |
KR100343766B1 (ko) | 1999-06-08 | 2002-07-20 | 마쯔시다덴기산교 가부시키가이샤 | 영상신호 셔플링, 부호화, 복호화 장치 및 그 프로그램기록매체 |
CN1197384C (zh) | 1999-08-27 | 2005-04-13 | 皇家菲利浦电子有限公司 | 可缩放编码 |
US6480547B1 (en) | 1999-10-15 | 2002-11-12 | Koninklijke Philips Electronics N.V. | System and method for encoding and decoding the residual signal for fine granular scalable video |
US6639943B1 (en) * | 1999-11-23 | 2003-10-28 | Koninklijke Philips Electronics N.V. | Hybrid temporal-SNR fine granular scalability video coding |
US6614936B1 (en) * | 1999-12-03 | 2003-09-02 | Microsoft Corporation | System and method for robust video coding using progressive fine-granularity scalable (PFGS) coding |
JP4526642B2 (ja) | 2000-03-17 | 2010-08-18 | パナソニック株式会社 | 減算係数のマクロブロック記録のための方法 |
JP2001268569A (ja) | 2000-03-17 | 2001-09-28 | Matsushita Electric Ind Co Ltd | 任意形状オブジェクトの残余係数を符号化するための方法および装置 |
JP3662171B2 (ja) * | 2000-06-05 | 2005-06-22 | 三菱電機株式会社 | 符号化装置及び符号化方法 |
CN1636394A (zh) | 2000-10-11 | 2005-07-06 | 皇家菲利浦电子有限公司 | 细粒视频编码的空间可缩放性 |
US6792044B2 (en) | 2001-05-16 | 2004-09-14 | Koninklijke Philips Electronics N.V. | Method of and system for activity-based frequency weighting for FGS enhancement layers |
FR2830159A1 (fr) | 2001-09-24 | 2003-03-28 | Thomson Licensing Sa | Procede de codage selon la norme mpeg |
KR20030081722A (ko) | 2002-04-12 | 2003-10-22 | 신흥섭 | 의료기관의 환자리콜방법 |
-
2004
- 2004-03-13 KR KR1020040017165A patent/KR20050090302A/ko not_active Application Discontinuation
-
2005
- 2005-03-08 US US11/073,898 patent/US8014451B2/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101065228B1 (ko) * | 2006-07-13 | 2011-09-16 | 퀄컴 인코포레이티드 | 사이클-정렬된 프래그먼트를 이용하는 fgs 비디오 코딩 |
US8233544B2 (en) | 2006-07-13 | 2012-07-31 | Qualcomm Incorporated | Video coding with fine granularity scalability using cycle-aligned fragments |
Also Published As
Publication number | Publication date |
---|---|
US20050196057A1 (en) | 2005-09-08 |
US8014451B2 (en) | 2011-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8014451B2 (en) | Video encoder/decoder with macroblock arrangement of significant item | |
JP4571489B2 (ja) | ビデオ符号化システムにおける量子化器パラメータを表示するための方法および装置 | |
KR100772868B1 (ko) | 복수 계층을 기반으로 하는 스케일러블 비디오 코딩 방법및 장치 | |
US5568200A (en) | Method and apparatus for improved video display of progressively refreshed coded video | |
JP5128865B2 (ja) | ビデオ伝送におけるビットストリーム間の切換 | |
KR100703724B1 (ko) | 다 계층 기반으로 코딩된 스케일러블 비트스트림의비트율을 조절하는 장치 및 방법 | |
US7532808B2 (en) | Method for coding motion in a video sequence | |
US7058127B2 (en) | Method and system for video transcoding | |
US20050094726A1 (en) | System for encoding video data and system for decoding video data | |
JP2003511919A (ja) | 基本層量子化データを使用して改善層データを符号化及び復号するシステム及び方法 | |
JP2016026426A (ja) | 適応可変長符号化 | |
US20110026592A1 (en) | Intra block walk around refresh for h.264 | |
MXPA04011439A (es) | Metodo y aparato para transcodificar flujos de bits de video comprimido. | |
US20070165717A1 (en) | System and method for rate-distortion optimized data partitioning for video coding using parametric rate-distortion model | |
US6804299B2 (en) | Methods and systems for reducing requantization-originated generational error in predictive video streams using motion compensation | |
EP1668911A1 (en) | Rate-distortion video data partitioning using convex hull search | |
US6356661B1 (en) | Method and device for robust decoding of header information in macroblock-based compressed video data | |
CN110636288A (zh) | 视频解码、编码方法和装置及电子设备 | |
KR100669621B1 (ko) | 동영상 디코더의 참조 영상 변경 제어방법 | |
KR100203711B1 (ko) | 에이치. 263 영상 비트 스트림에서의 에러 검출방법 | |
WO2002096115A1 (en) | A fine granularity scalability scheme | |
Aladrovic et al. | An error resilience scheme for layered video coding | |
Reed | Improvement of MPEG-2 compression by position-dependent encoding | |
KR20040039806A (ko) | 동영상 디코딩 방법 | |
KR20040031948A (ko) | 동영상 디코딩 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |