KR20030064928A - Image processing system and database building method for the object information of soccer game - Google Patents

Image processing system and database building method for the object information of soccer game Download PDF

Info

Publication number
KR20030064928A
KR20030064928A KR1020020005000A KR20020005000A KR20030064928A KR 20030064928 A KR20030064928 A KR 20030064928A KR 1020020005000 A KR1020020005000 A KR 1020020005000A KR 20020005000 A KR20020005000 A KR 20020005000A KR 20030064928 A KR20030064928 A KR 20030064928A
Authority
KR
South Korea
Prior art keywords
frame
image
image frame
camera
video
Prior art date
Application number
KR1020020005000A
Other languages
Korean (ko)
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 KR1020020005000A priority Critical patent/KR20030064928A/en
Publication of KR20030064928A publication Critical patent/KR20030064928A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/16Indexing scheme for image data processing or generation, in general involving adaptation to the client's capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]

Abstract

PURPOSE: A soccer game object information video processing system and a database constructing method are provided to extract coordinate values of positions of players and a ball and construct a database of the coordinate values and video data. CONSTITUTION: A soccer game object information video processing system includes a video camera(100), a video processor(200), a monitor(300), and an input unit(400). The video camera takes a picture of a soccer game to generate video frames. The video processor extracts position coordinate values of objects appearing in the video frames and construct a database of the coordinate values and the video frames. The monitor outputs the position coordinate values and video frames. The input unit transmits a control command from a user to the video processor.

Description

축구경기의 객체정보 영상처리 시스템 및 데이터베이스 구축방법{IMAGE PROCESSING SYSTEM AND DATABASE BUILDING METHOD FOR THE OBJECT INFORMATION OF SOCCER GAME}IMAGE PROCESSING SYSTEM AND DATABASE BUILDING METHOD FOR THE OBJECT INFORMATION OF SOCCER GAME}

본 발명은 축구경기의 객체정보 영상처리 시스템 및 데이터베이스 구축방법에 관한 것으로써, 보다 상세하게는 영상 카메라를 통해서 촬영되는 축구경기의 영상 프레임에서 객체에 속하는 선수들과 공의 위치 좌표값을 추출하여 영상 데이터와 함께 데이터베이스화하여 축구 경기의 객관적인 분석에 활용할 수 있는 축구경기의 객체정보 영상처리 시스템 및 데이터베이스 구축방법에 관한 것이다.The present invention relates to an object information image processing system and a database construction method of a soccer game, and more particularly, to extract the position coordinate values of players and balls belonging to an object from an image frame of a soccer game photographed through a video camera. The present invention relates to an object information image processing system and a database construction method of a soccer game that can be used for objective analysis of a soccer game by making a database together with image data.

전세계적으로 보았을 때, 가장 상업화에 성공한 구기 스포츠 종목을 예로 들어 본다면 그것은 아마도 야구, 농구, 축구, 그리고 미식 축구라고 할 수 있을 것이다. 또한, 이와 같은 스포츠 종목들은 프로화를 통해서 크게 발전하였다는 공통점을 가지고 있다. 특히, 축구의 경우에는 각 나라들마다 클럽 시스템이나 프로 구단을 운영함으로써 축구 자체의 발전이 이루어졌을 뿐만 아니라, 월드컵이라는 세계적인 대회를 통해서 상업화에서도 크게 성공한 대표적인 스포츠라고 할 수 있다.The world's most successful ball game, for example, is probably baseball, basketball, soccer, and football. In addition, these sports events have a common point that they have greatly developed through the professionalization. In particular, in the case of football, not only the development of soccer itself has been achieved by operating a club system or a professional team in each country, but it is also a representative sport that has succeeded in commercialization through the world championship called World Cup.

월드컵이 열리는 나라를 결정하는 것은 올림픽 개최지를 결정하는 것과 마찬가지로 해당 나라에 큰 경제적인 이득을 가져다 준다. 그것은 크게 경기의 중계 방송을 통한 광고 수입과, 월드컵을 관람하기 위해서 개최지를 방문하는 많은 외국인들로 인한 관광 수입으로 나누어질 수 있다.Determining which country the World Cup takes place in, like determining the Olympic venue, brings great economic benefits to that country. It can be largely divided into advertising revenue through broadcast broadcasts of the game, and tourism revenue from many foreigners visiting the venue to watch the World Cup.

이러한 상업화의 열매를 오래도록 누리고 있는 서양 여러 나라들에 비해서 축구를 뒤늦게 받아들인 그 외의 나라들은 축구 발전이 상대적으로 뒤쳐질 수 밖에 없었다. 그러나, 한편으로는 오랜 역사를 갖고 있는 축구에 있어서 경기의 내용을 정량적으로 기록한다거나 정성적으로 분석하는데 있어서 과학적이고 통일된 방법이 제시된 적이 없었다.Compared to the Western countries that enjoyed the fruits of commercialization for a long time, other countries that had adopted football lately had to lag behind the development of football. On the other hand, however, there has never been a scientific and unified way to quantitatively record or qualitatively analyze the content of football with a long history.

축구 경기의 내용을 영상 카메라로 기록하고자 할 경우에는 경기장 주위의 환경에 따라서 카메라의 배치 방법이 크게 세가지로 구분되는데, 각 경우마다 기술적으로 해결해야만 하는 문제점들이 다르게 나타난다.When recording the contents of a football game with a video camera, there are three main methods of disposing the camera according to the environment around the stadium. In each case, problems that must be solved technically appear differently.

도 1a는 종래에 따른 운동장을 향한 영상 카메라의 각도가 Ø=0 인 경우의 예시도이고, 도 1b는 종래에 따른 운동장을 향한 영상 카메라의 각도가 0<Ø<90 인 경우의 예시도이며, 도 1c는 종래에 따른 운동장을 향한 영상 카메라의 각도가 Ø=90 인 경우의 예시도이다.1A is an exemplary view when the angle of the video camera toward the playground according to the prior art is Ø = 0, FIG. 1B is an exemplary view when the angle of the video camera toward the playground according to the prior art is 0 <Ø <90, 1C is an exemplary view when the angle of the image camera toward the playground according to the related art is Ø = 90.

이에 의하면, 경기장을 향한 영상 카메라의 각도가 Ø=0 이 될 경우는 야외 훈련장이나 혹은 경기장(20)으로서 관중석이 설치되어 있지 않고 영상 카메라(10a)가 취할 수 있는 각도가 운동장 바닥과 평행하게 주어지는 경우로써, 영상 카메라(10a)가 운동장을 향하는 각도가 수평에 가까워지게 되면 선수(30)들의 모습이 서로 겹쳐지는 문제와 함께 영상 카메라(10a)와 선수(30)들간의 거리를 구별할 수 없는 문제가 발생하게 된다. 영상 카메라(10a)로부터 객체가 멀어지게 되면 영상 카메라(10a) 화면 상에서 그 크기가 작아지게 된다. 따라서, 선수 개개인의 신장의 크기만으로 위치를 결정하려고 하면 그 선수가 영상 카메라(10a)로부터 멀어져서 작게 보이는 것인지, 아니면, 영상 카메라(10a)와의 거리는 가깝지만 키가 작아서 그런 것인지를 구별하기가 매우 어려워진다. 따라서, 이러한 경우에도 각 선수들의 위치 좌표값을 계산할 수 있는 방법이 필요하다.According to this, when the angle of the video camera toward the stadium is Ø = 0, the outdoor training ground or the stadium 20 is not equipped with a spectator seat, and the angle that the video camera 10a can take is parallel to the ground of the playground. In some cases, when the angle toward the playground of the video camera 10a becomes close to horizontal, the appearance of the players 30 overlaps each other, and the distance between the video camera 10a and the players 30 cannot be distinguished. Problems will arise. When the object moves away from the video camera 10a, the size thereof becomes smaller on the screen of the video camera 10a. Therefore, when trying to determine the position only by the size of the height of each player, it is very difficult to distinguish whether or not the player looks small by moving away from the video camera 10a, or because of the short distance from the video camera 10a. Lose. Therefore, even in this case, there is a need for a method that can calculate the position coordinates of each athlete.

경기장을 향한 영상 카메라의 각도가 0<Ø<90이 될 경우는 관중석(40)이 설치되어 있음으로 해서 영상 카메라(10b)가 운동장 바닥으로부터 어느 정도 올라간 상태에서 경기장을 사각으로 바라볼 수 있는 경우로써, 영상 카메라(10b)가 운동장을 바라보는 각도가 사각이 되기 시작하면 경기장 내에서 이동하는 선수들의 모습이 서로 겹쳐지는 경우가 생기기 시작한다. 즉, 영상 카메라(10b)에서 보았을 때, 앞쪽에 위치한 선수에 의해서 뒤쪽에 위치한 선수의 모습이 일부, 혹은 전부 감추어지는 경우가 많아지기 시작한다. 따라서, 영상 카메라(10b)가 운동장을 향하는 각도가 사각이 되었을 때, 서로 겹쳐지는 선수들을 구별하여 각각의 위치 좌표값을 계산할 수 있는 방법이 필요하다.When the angle of the video camera toward the stadium becomes 0 <Ø <90, when the audience seat 40 is installed and the video camera 10b is raised to some extent from the floor of the playground, the view of the stadium is square. As a result, when the angle at which the image camera 10b looks at the playground becomes square, the appearance of players moving in the stadium overlaps with each other. In other words, when viewed from the video camera 10b, a part or all of the figure of the player located at the rear starts to be hidden by the player located at the front. Therefore, when the angle toward the playground of the image camera 10b becomes a square, there is a need for a method capable of calculating each position coordinate value by distinguishing athletes overlapping each other.

경기장을 향한 영상 카메라의 각도가 Ø=90이 될 경우에는 실내 운동장으로서 천정을 가지고 있는 경우이다. 이 경우에는 천정에 설치된 영상 카메라(10c)가운동장 표면을 정면으로 바라보는 형태로써, 영상 카메라(10c)가 운동장 표면을 수직으로 바라보는 각도가 되기 때문에 모든 선수들의 움직임이 서로 겹쳐지게 되는 경우가 거의 발생하지 않는다. 또한, 운동장의 모양이 사각형 모양 그대로 보이기 때문에 각 선수들의 위치 좌표값 P(x,y,t)을 계산하는 것이 상당히 용이하다. 즉, 선수들의 위치 좌표값을 구한다는 것은 2 차원 직교 좌표계 상의 한점의 위치를 결정하는 것과 같다.If the angle of the video camera toward the stadium is Ø = 90, it means that you have a ceiling as an indoor playground. In this case, the video camera 10c installed on the ceiling faces the playground surface in front, and the movements of all the athletes overlap with each other because the video camera 10c becomes an angle of looking at the playground surface vertically. Rarely occurs. In addition, it is quite easy to calculate the position coordinate value P (x, y, t) of each athlete because the shape of the playground is displayed as a square shape. In other words, obtaining the position coordinates of the athletes is equivalent to determining the position of a point on the two-dimensional rectangular coordinate system.

그리고, 축구 경기에서의 선수들과 공, 즉 객체들의 위치 좌표값을 추출하는데 있어서 또 한가지 생각해야 할 문제는 위치 변화의 정밀도(accuracy), 즉 위치 좌표값의 해상도(resolution)에 있다. 위치 좌표값의 해상도는 경기 내용을 분석하는데 있어서 아주 큰 영향을 미친다. 예를 들어서, 선수들의 위치 좌표값에 대한 해상도가 3 미터인 것과 30 센티미터인 것은 크게 다르다. 어떤 선수가 주어진 위치에서 30 센티미터 움직인 것을 구별해 낼 수 있다면, 아주 좁은 지역에서 벌어지는 수비수들의 움직임과 공격수의 순간 돌파에 대해서 아주 상세하고 신뢰성 있는 분석을 할 수가 있을 것이다. 그러나, 위치 좌표값의 해상도가 3 미터라면 좁은 지역에서 벌어지는 이러한 상황을 표현하는 것이 불가능하다. 따라서 각 객체들의 위치 좌표값에 대하여 해상도를 어디까지 높일 수 있는가 하는 것이 중요하다.In addition, another problem that needs to be considered in extracting the position coordinate values of players and balls, or objects, in a soccer game is the accuracy of the position change, that is, the resolution of the position coordinate values. The resolution of the position coordinates has a great influence on analyzing the game contents. For example, the resolution of the athletes' position coordinates is significantly different from that of 3 meters and 30 centimeters. If a player can distinguish 30 centimeters of movement from a given position, he will be able to make a very detailed and reliable analysis of defenders' movements and attack breakthroughs in very small areas. However, if the resolution of the position coordinate value is 3 meters, it is impossible to represent this situation in a small area. Therefore, it is important to know how much resolution can be increased for the position coordinate values of each object.

도 2는 종래에 따른 천정에 설치되어 있는 영상 카메라의 화면에 나타나는 경기장의 모습을 나타낸 평면도이다.2 is a plan view showing a state of a stadium appearing on the screen of the video camera installed on the ceiling according to the prior art.

도시된 바와 같이, 경기장(20)의 폭을 LY라고 하고 길이를 LX라고 하면 국제규격의 운동장의 경우, 대략 75 미터와 110 미터로 정해진다. 영상 카메라의 화면은 화소라고 불리우는 점들로 이루어지는데 화면의 크기는 이러한 화소들의 2차원 격자로 주어지게 되며 보통 M×N 매트릭스라고 부르기도 한다. M은 수평 방향의 화소수를 가리키고, N은 수직 방향의 화소수를 가리킨다.As shown, if the width of the stadium 20 is referred to as L Y and the length L X is set to approximately 75 meters and 110 meters in the case of the playground of the international standard. The screen of an image camera is made up of dots called pixels, and the size of the screen is given by a two-dimensional grid of these pixels, commonly referred to as an M × N matrix. M indicates the number of pixels in the horizontal direction, and N indicates the number of pixels in the vertical direction.

도 2에 주어진 화면의 크기가 640×480 라고 하고 화면의 수평 방향과 수직 방향으로 배율이 서로 같다고 가정하면, 폭이 75 미터이고 길이가 110 미터인 경기장이 그 안에서 차지하는 화면의 크기는 약 640×436로 주어진다. 이것이 의미하는 것은 화면의 수평과 수직 방향으로 인접한 화소간의 거리가 각각 약 17.2 센티미터라는 것을 의미한다. 영상 카메라의 화면을 구성하는 화소수가 320×240로 작아지게 되면 인접한 화소간의 거리는 약 34.4 센티미터로 커지게 된다. 즉 화소의 수가 많아지면 많아질수록 객체의 움직임을 세밀하게 알 수 있으며 결국 위치 좌표값의 해상도를 높일 수 있다.Assuming that the size of the screen given in FIG. 2 is 640 × 480 and that the magnifications are the same in the horizontal and vertical directions of the screen, the size of the screen occupied by a stadium having a width of 75 meters and a length of 110 meters is about 640 ×. Given by 436. This means that the distance between adjacent pixels in the horizontal and vertical directions of the screen is about 17.2 centimeters each. When the number of pixels constituting the image camera screen is reduced to 320 × 240, the distance between adjacent pixels is increased to about 34.4 centimeters. That is, as the number of pixels increases, the motion of the object can be known in detail, and the resolution of the position coordinate value can be increased.

그러나, 운동장을 향하는 영상카메라가 사각을 이루게 되면 위치 좌표값의 해상도에 영향을 받게 된다.However, when the image camera facing the playground forms a square, the resolution of the position coordinate value is affected.

도 3a는 종래에 따른 사각에서 본 운동장의 모습이 영상 카메라의 화면에 잡힌 것을 나타낸 도면이다.Figure 3a is a view showing that the appearance of the playground viewed from the blind spot according to the prior art is caught on the screen of the video camera.

도시된 바와 같이, 운동장의 중앙에 사람이 서있다고 했을 때, 영상 카메라(10b)에서 멀어지면 멀어질수록 화면에 잡히는 크기가 작아지게 되며 운동장의 길이도 거리에 비례해서 줄어들게 된다. 이것은 영상 카메라(10b)와 운동장 표면이 이루는 각도의 값이 작아질수록 더욱 더 심해진다. 예를 들어서, 화면의 크기가 640×480이고 영상 카메라(10b)에서 먼쪽에 위치한 운동장 변의 길이(LY')가 차지하게 되는 화소의 수가 320, 그리고, 운동장 길이가 110미터라고 한다면 인접한 화소간의 거리는 34.4 센티미터에 해당한다. 즉, 영상 카메라(10b)에서 가까운 운동장 변(22)과 멀리 있는 운동장 변(21)에 대한 화소당 길이가 서로 달라지게 된다. 이러한 결과는 운동장 폭의 방향으로도 나타나게 되는데 Ø의 값이 작아지면 작아질수록 화면상에 나타나는 운동장의 폭은 크게 줄어들게 된다. 예를 들어서, 화면에 나타난 운동장의 폭(LX')을 나타내는 화소의 수가 109라고 하면 인접한 화소간의 거리는 68.8 센티미터로 주어진다.As shown, when a person is standing in the center of the playground, the farther away from the image camera 10b, the smaller the size of the screen is taken and the length of the playground is reduced in proportion to the distance. This becomes more severe as the value of the angle formed between the image camera 10b and the playground surface becomes smaller. For example, between the number of pixels that make up the size of the screen 640 × 480 and the playground side length (L Y ') located on the far side in the video camera (10b) adjacent if called 320, and, playground length of 110 m pixel The distance corresponds to 34.4 centimeters. In other words, the length per pixel of the near-field side 22 and the far-side side 21 in the image camera 10b is different from each other. This result also appears in the direction of the playground width. As the value of Ø decreases, the width of the playground displayed on the screen decreases significantly. For example, if the number of pixels representing the width L X 'of the playground displayed on the screen is 109, the distance between adjacent pixels is given as 68.8 centimeters.

영상 카메라가 경기장의 천정에 달려 있을 때에는 운동장의 폭과 길이 방향으로 서로 같은 해상도를 나타냈지만 영상 카메라가 경기장의 표면과 사각을 이루기 시작하면 운동장의 폭과 길이 방향으로 서로 다른 해상도를 갖게 된다.When the video cameras are on the ceiling of the stadium, they have the same resolution in the width and length of the playground. However, when the video cameras form a square with the surface of the stadium, they have different resolutions in the width and length of the playground.

영상 카메라가 운동장의 표면과 이루는 각도가 사각을 이룰 경우, 인접한 화소간의 해상도가 심하게 차이가 날 경우, 화면의 배율을 증가시킴으로써 이를 보상하는 것이 가능하다.When the angle between the image camera and the surface of the playground is square, when the resolution between adjacent pixels is severely different, it is possible to compensate for this by increasing the magnification of the screen.

도 3a에 주어진 운동장 화면의 배율을 2 배 확대하게 되면 운동장의 폭과 길이 방향으로 해상도를 2 배 증가시킬 수 있다. 그러나 이러한 방법을 사용하게 되면 운동장의 크기를 간접적으로 알 수 있게 하여주는 사이드 라인이 화면 밖으로 사라지는 문제가 발생하게 된다.If the magnification of the playground screen given in Fig. 3a is enlarged twice, the resolution can be increased twice in the width and length directions of the playground. However, the use of this method causes a problem that the sideline, which indirectly determines the size of the playground, disappears from the screen.

도 3b는 상기 도 3a에서 영상 카메라의 배율을 확대한 경우의 도면이다.FIG. 3B is an enlarged view of the magnification of the video camera of FIG. 3A.

도시된 바와 같이, 영상 카메라(10b)의 배율을 확대하게 되면 운동장의 폭과 길이 방향으로 해상도를 증가시킬 수 있지만 화면의 밖으로 사라지는 영역(23)이 발생하게 된다. 운동장의 길이를 간접적으로 나타내는 사이드라인이 화면의 밖으로 빠져나가게 되면 길이 방향으로 화소당 해상도를 결정하기 어렵게 된다. 게다가, 배율을 더욱 높이게 되면 운동장의 폭을 알 수 있는 사이드라인(24)까지도 화면의 밖으로 나가게 되어 운동장의 폭 방향에 대한 해상도를 알 수 있는 방법이 없게 된다.As shown, when the magnification of the image camera 10b is enlarged, resolution may be increased in the width and length directions of the playground, but an area 23 disappears from the screen. When the sideline indicating the length of the playground indirectly goes out of the screen, it becomes difficult to determine the resolution per pixel in the length direction. In addition, if the magnification is further increased, even the sideline 24, which can know the width of the playground, goes out of the screen, and there is no way of knowing the resolution in the width direction of the playground.

결론적으로, 영상 카메라가 운동장과 사각을 이루게 될 경우 객체의 이동을 감지할 수 있는 화소간의 거리 분해능, 즉 해상도를 높이는 방향으로 카메라의 배율을 조절하게 되면 운동장의 크기를 간접적으로 알 수 있는 사이드 라인이 화면의 밖으로 빠져 나가게 되는 문제가 발생하게 된다. 따라서 이러한 경우에도 화소간의 거리 분해능을 결정할 수 있는 수단이 필요하게 된다.In conclusion, if the video camera is square with the playground, the side line can indirectly determine the size of the playground by adjusting the camera's magnification in the direction of increasing the resolution, that is, the distance resolution between pixels that can detect the movement of the object. The problem of getting out of this screen will occur. Therefore, even in such a case, a means for determining the distance resolution between pixels is needed.

마지막으로, 영상 카메라가 운동장의 표면과 수평을 이루게 되면, 즉 Ø=0이 되면 화면을 차지하게 되는 운동장의 폭은 거의 직선에 가깝게 되어 운동장의 폭 방향으로의 해상도를 결정하는 것이 거의 불가능해진다. 이 경우에는 영상 카메라의 배율을 증가시키는 것도 전혀 효과가 없게 된다. 이 상태에서 배율을 높이게 되면 운동장의 폭 방향으로 해상도가 높아지기 전에 먼저 화면에 나타나는 선수들의 모습이 화면 밖으로 벗어나게 된다.Finally, when the image camera is level with the surface of the playground, that is, when Ø = 0, the width of the playground occupying the screen becomes almost straight, making it almost impossible to determine the resolution in the width direction of the playground. In this case, increasing the magnification of the video camera also has no effect. In this state, if the magnification is increased, the players appearing on the screen will be off the screen before the resolution is increased in the width direction of the playground.

운동장의 표면과 영상 카메라가 이루는 각도에 따라서 발생할 수 있는 문제점들을 요약하면 다음 표와 같다. 표 1은 영상 카메라와 운동장의 표면이 이루는각도에 따른 문제점을 요약한 것이다.The following table summarizes the problems that can occur according to the angle between the surface of the playground and the image camera. Table 1 summarizes the problems according to the angle between the surface of the video camera and the playground.

각도, ØAngle, Ø 문 제 점problem Ø=90Ø = 90 실내경기장이 아닐 경우에는 사용될 수 없다.It cannot be used outside the stadium. 0<Ø<900 <Ø <90 영상 카메라 화면의 수평과 수직 방향으로 화소간의 분해능, 즉 해상도가 달라진다. 영상 카메라의 배율을 조절하게 되면 경기장의 크기를 간접적으로 알 수 있는 사이드 라인이 화면 밖으로 빠져 나가게 된다. 선수들의 모습이 서로 겹쳐지게 되는 경우가 발생한다.The resolution, that is, the resolution, is different between pixels in the horizontal and vertical directions of the video camera screen. If you adjust the magnification of the video camera, the sideline, which indirectly determines the size of the playing field, is taken out of the screen. Players sometimes overlap in appearance. Ø=0Ø = 0 영상 카메라 화면의 수직 방향으로 해상도를 결정할 수 없다. 선수들의 모습이 서로 겹쳐지는 경우가 상대적으로 많이 발생한다.The resolution cannot be determined in the vertical direction of the video camera screen. There are relatively many cases where athletes overlap each other.

그리고, 대한민국공개특허공보 특2000-0064088호(2000.11.06)에는 "스포츠 영상 분석 방송 시스템 및 방법" 이 개시되어 있다. 이에 의하면, 영상 카메라가 운동장 표면과 이루는 각도에 따라서 발생하는 선수의 겹침 문제를 어떻게 해결할 것인가에 대한 방법에 대해서 구체적으로 명시되어 있지 않다. 또한, 선수들의 이동에 따른 궤적을 시간적으로 인접한 두 영상의 차이를 통해서 구한다고 되어 있는데 방법에 대한 설명이 구체적으로 이루어지지 않았으며, 정지 영상을 가지고 각 선수들의 위치를 결정할 수 없다는 단점이 있다. 즉, 최초의 영상은 정지 영상으로 주어지게 되는데 이것을 가지고 선수들의 초기 위치를 결정하는 방법이 명시되어 있지 않다.In addition, Korean Unexamined Patent Publication No. 2000-0064088 (2000.11.06) discloses a sports video analysis broadcasting system and method. According to this, there is no specific method for how to solve the overlapping problem of the athlete, which occurs according to the angle that the video camera makes with the surface of the playground. In addition, the trajectory according to the movement of the athletes is obtained through the difference between two adjacent temporal images. However, the description of the method has not been made in detail, and the position of each athlete cannot be determined with the still image. That is, the first image is given as a still image, and it is not specified how to determine the initial position of the athletes.

따라서, 본 발명은 상기한 종래의 제반 문제점을 해결하기 위한 것으로, 그 목적은 영상 카메라를 통해서 촬영되는 축구경기의 영상 프레임에서 객체에 속하는 선수들과 공의 위치 좌표값을 추출하여 영상 데이터와 함께 데이터베이스화하여 축구 경기의 객관적인 분석에 활용할 수 있도록 하는 축구경기의 객체정보 영상처리 시스템 및 데이터베이스 구축방법을 제공하고자 하는 것이다.Accordingly, the present invention is to solve the above-mentioned general problems, the purpose of which is to extract the position coordinate values of the players and the ball belonging to the object in the image frame of the soccer game photographed through the image camera with the image data It is to provide an object information image processing system and a database construction method of a football game to be used in the objective analysis of the football game by the database.

도 1a는 종래에 따른 운동장을 향한 영상 카메라의 각도가 Ø=0 인 경우의 예시도.Figure 1a is an exemplary view when the angle of the image camera toward the playground according to the prior art is Ø = 0.

도 1b는 종래에 따른 운동장을 향한 영상 카메라의 각도가 0<Ø<90 인 경우의 예시도.Figure 1b is an exemplary view when the angle of the image camera toward the playground according to the prior art is 0 <Ø <90.

도 1c는 종래에 따른 운동장을 향한 영상 카메라의 각도가 Ø=90 인 경우의 예시도.Figure 1c is an exemplary view when the angle of the image camera toward the playground according to the prior art is Ø = 90.

도 2는 종래에 따른 천정에 설치되어 있는 영상 카메라의 화면에 나타나는 경기장의 모습을 나타낸 평면도.Figure 2 is a plan view showing a state of the stadium appearing on the screen of the video camera installed on the ceiling according to the prior art.

도 3a는 종래에 따른 사각에서 본 운동장의 모습이 영상 카메라의 화면에 잡힌 것을 나타낸 도면.Figure 3a is a view showing that the appearance of the playground viewed from the blind spot according to the prior art is caught on the screen of the video camera.

도 3b는 도 3a에서 영상 카메라의 배율을 확대한 경우의 도면.FIG. 3B is an enlarged view of the magnification of the video camera in FIG. 3A; FIG.

도 4는 본 발명에 따른 영상 처리 시스템의 구성을 나타내는 블럭 구성도.4 is a block diagram showing the configuration of an image processing system according to the present invention;

도 5는 본 발명에 따른 초당 영상 프레임 생성 수가 서로 다른 경우에 영상 프레임의 생성 시점을 시간축상에 동시에 나타낸 예시도.5 is an exemplary view showing a time point of generating image frames simultaneously on the time axis when the number of image frames generated per second is different according to the present invention.

도 6은 본 발명에 따른 영상처리 프로세스를 나타내는 흐름도.6 is a flowchart illustrating an image processing process according to the present invention.

도 7은 본 발명에 따른 사용자 인터페이스인 제어판의 구성 방법의 일예를 나타낸 예시도.7 is an exemplary view showing an example of a configuration method of a control panel which is a user interface according to the present invention.

도 8은 도 7과 함께 사용되는 모니터의 화면 분할을 나타낸 예시도.8 is an exemplary diagram illustrating screen division of a monitor used in conjunction with FIG. 7;

도 9는 본 발명에 따른 사용자 인터페이스를 통해서 두 개의 영상 카메라로부터 만들어진 동영상을 편집하기 위한 흐름도.9 is a flowchart for editing a video made from two video cameras through a user interface according to the present invention.

도 10은 본 발명에 따른 각각의 프레임 그룹을 구별하기 위한 데이터 구조를 정의하여 사용하는 사용 예시도.10 is an example of use of defining and using a data structure for distinguishing each group of frames according to the present invention.

도 11a와 도 11b는 본 발명에 따른 편집이 완료된 모든 프레임 그룹에 속한 영상 데이터의 각 객체들의 위치 좌표값을 계산하기 위한 흐름도.11A and 11B are flowcharts for calculating position coordinate values of each object of image data belonging to all edited frame groups according to the present invention.

도 12는 본 발명에 따른 영상 카메라가 운동장의 표면과 사각을 이루는 경우의 운동장 좌표계와 화면 좌표계 사이의 관계를 나타낸 예시도.12 is an exemplary view showing a relationship between a playground coordinate system and a screen coordinate system when the image camera according to the present invention forms a square with the surface of the playground.

도 13은 본 발명에 따른 사용자 인터페이스인 해상도 설정 제어판의 구성 방법의 일예를 나타낸 예시도.13 is an exemplary view showing an example of a configuration method of a resolution setting control panel which is a user interface according to the present invention.

도 14는 본 발명에 따른 해상도 설정 과정을 통해서 계산된 결과와 사용된 파라미터들이 저장되는 데이터 구조를 나타낸 예시도.14 is an exemplary view showing a data structure in which a result calculated through a resolution setting process and parameters used are stored according to the present invention.

도 15는 본 발명에 따른 화면 좌표계를 운동장 좌표계로 투영한 것을 나타낸 예시도.15 is an exemplary view showing a projection of the screen coordinate system according to the present invention to the playground coordinate system.

도 16은 화면 좌표계 상에서 인식된 사람과 추정된 위치 좌표를 나타낸 예시도.16 shows an example of a recognized person and estimated position coordinates on a screen coordinate system.

도 17a는 본 발명에 따른 사용자 인터페이스인 패턴인식 처리기 제어판의 구성 방법의 일예를 나타낸 예시도.Figure 17a is an exemplary view showing an example of a configuration method of a pattern recognition processor control panel which is a user interface according to the present invention.

도 17b와 도 17c는 도 17a에서 개체 연결시의 변화를 나타낸 예시도.17B and 17C are exemplary views illustrating changes in connecting individuals in FIG. 17A.

도 18은 본 발명에 따른 인접한 촬영 영역으로 이동하는 개체를 자동적으로 인식하도록 하여주는 카메라 핸드오프 과정을 나타내는 도면.18 is a diagram illustrating a camera handoff process for automatically recognizing an object moving to an adjacent photographing area according to the present invention.

도 19는 본 발명에 따른 위치 좌표값이 결정된 모드 프레임 그룹의 결과가 저장되는 데이터 구조의 형태를 나타내는 예시도.19 is an exemplary view showing a form of a data structure in which a result of a mode frame group in which a position coordinate value is determined according to the present invention is stored.

도 20은 본 발명에 따른 사람이 서 있는 위치에서 점프를 하였을 때 나타나는 궤적의 변화를 나타낸 도면.20 is a view showing a change in the trajectory that appears when a person jumps in a standing position according to the present invention.

도 21은 본 발명에 따른 두 개체 간의 크로스 오버가 발생하는 경우를 나타낸 도면.21 is a diagram illustrating a case where crossover between two entities occurs according to the present invention.

도 22는 지그재그 모양으로 나타나는 궤적을 커브 피팅 방법으로 부드럽게 바꾸는 것을 예시한 도면.FIG. 22 is a diagram illustrating a smooth change in a zigzag trajectory by a curve fitting method. FIG.

도 23은 도 20 내지 도 22에서의 에러들을 처리하는 사용자 인터페이스의 일예를 나타내는 도면.FIG. 23 illustrates an example of a user interface for handling errors in FIGS. 20-22.

도 24는 데이터 베이스에 기록된 정보들을 이용하여 내용을 분석하기 위한 사용자 인터페이스의 실시예를 나타낸 도면.FIG. 24 illustrates an embodiment of a user interface for analyzing content using information recorded in a database. FIG.

<도면의 주요부분에 대한 설명><Description of main parts of drawing>

100 : 영상 카메라 200 : 영상처리장치100: video camera 200: image processing device

201 : 디지털 데이터 입력장치 202 : A/D 데이터 변환장치201: Digital data input device 202: A / D data converter

203,204 : 이중 프레임 버퍼 205 : 대용량 데이터 기억장치203,204: Dual frame buffer 205: Mass data storage device

206 : 그래픽 신호 발생기 207 : 오버레이 버퍼206: graphic signal generator 207: overlay buffer

208 : 동기 펄스 발생기 209 : 시스템 클럭 발생기208 synchronous pulse generator 209 system clock generator

210 : 모션 파라미터 기억장치 211 : 영상프레임 편집기210: Motion parameter storage 211: Video frame editor

212 : 패턴 인식 처리기 213 : MPEG 인코더212: Pattern Recognition Processor 213: MPEG Encoder

214 : MPEG 디코더 215 : 사용자 인터페이스214: MPEG Decoder 215: User Interface

216 : 제어기 300 : 모니터216 controller 300 monitor

400 : 입력 수단400 input means

상기 기술적 과제들을 달성하기 위한 본 발명에 따른 축구경기의 객체정보 영상처리 시스템의 특징은,Features of the object information image processing system of the football game according to the present invention for achieving the above technical problem,

경기의 영상을 촬영하여 영상 프레임을 생성하는 영상 카메라와; 상기 영상 프레임에 나타나는 객체들의 위치 좌표값을 추출하여 상기 영상 프레임과 함께 데이터베이스화하는 영상처리장치와; 상기 위치 좌표값과 상기 영상 프레임을 출력하는 모니터; 및 사용자의 제어 명령을 상기 영상처리장치로 전달하는 입력 수단으로 구성된다.A video camera for shooting an image of a game to generate an image frame; An image processing apparatus for extracting position coordinate values of objects appearing in the image frame and making a database together with the image frame; A monitor configured to output the position coordinate value and the image frame; And input means for transmitting a user's control command to the image processing apparatus.

상기 영상처리장치는 상기 영상 카메라에 동기 신호를 주어 상기 영상 프레임이 생성되는 시간을 지정하는 동기 펄스 발생기와; 상기 영상 프레임을 저장하는 대용량 데이터 기억장치와; 상기 영상 프레임에서 실제로 경기가 진행된 부분만을 편집하는 영상프레임 편집기와; 상기 편집된 영상 프레임으로부터 객체들의 위치 좌표값을 순차적으로 추출하는 패턴 인식 처리기와; 상기 편집된 영상 프레임을 순차적으로 압축하여 상기 대용량 데이터 기억장치에 저장하는 MPEG 인코더와; 상기압축된 영상 프레임을 복원하는 MPEG 디코더와; 상기 복원된 영상 프레임의 그래픽 신호를 발생시키는 그래픽 신호 발생기와; 상기 입력 수단으로부터의 제어 명령을 입력받는 사용자 인터페이스; 및 상기 제어 명령을 제어하여 상기 영상프레임 편집기와, 상기 패턴 인식 처리기와, 상기 MPEG 인코더 및 상기 MPEG 디코더로 전달하는 제어기로 구성된다.The image processing apparatus may include: a synchronization pulse generator configured to give a synchronization signal to the image camera and designate a time at which the image frame is generated; A mass data storage device for storing the image frame; An image frame editor for editing only a part of the image frame in which a game is actually played; A pattern recognition processor configured to sequentially extract position coordinate values of objects from the edited image frame; An MPEG encoder for sequentially compressing the edited image frame and storing the edited image frame in the mass data storage device; An MPEG decoder for restoring the compressed video frame; A graphic signal generator for generating a graphic signal of the restored image frame; A user interface for receiving a control command from the input means; And a controller for controlling the control command and transferring the image frame editor, the pattern recognition processor, and the MPEG encoder and the MPEG decoder.

상기 편집된 영상 프레임의 압축과 복원 과정에 발생하는 파라미터들을 임시로 저장하는 모션 파라미터 기억장치를 포함한다.And a motion parameter memory for temporarily storing parameters generated during compression and decompression of the edited image frame.

또한, 본 발명에 따른 축구경기의 객체정보 영상처리 데이터베이스 구축방법의 특징은,In addition, the feature of the object information image processing database construction method of the soccer game according to the present invention,

실제로 경기가 진행된 부분만 영상프레임 편집기에 의해 추출되어 편집된 영상 프레임이 대용량 데이터 기억장치에 저장되는 단계와; 상기 편집된 영상 프레임을 상기 대용량 데이터 기억장치로부터 읽어와 해상도를 설정하는 단계와; 상기 편집된 영상 프레임에서 객체들의 위치 좌표값이 패턴인식 처리기에 의해 순차적으로 추출되어 결정되는 단계와; 상기 객체들의 위치 좌표값의 에러 발생 여부가 판단되는 단계와; 에러가 발생되지 않은 경우, 상기 편집된 영상 프레임이 마지막 프레임인지의 여부가 판단되는 단계와; 상기 편집된 영상 프레임이 마지막 프레임인 경우, 에러가 발생되지 않은 상기 편집된 영상 프레임을 상기 대용량 데이터 기억장치로부터 읽어오는 단계와; 상기 편집된 영상 프레임이 MPEG 인코더에 의해 압축되어 상기 대용량 데이터 기억장치에 저장되는 단계와; 상기 대용량 데이터 기억장치에 압축되어 저장되는 상기 편집된 영상 프레임이 마지막 프레임인지의 여부가 판단되는 단계; 및 압축되어 저장되는 상기 영상 프레임이 마지막 프레임인 경우, 상기 객체들의 위치 좌표값과 상기 압축된 영상 프레임이 데이터베이스 형태로 상기 대용량 데이터 기억장치에 저장되는 단계로 이루어진다.Storing the edited video frame only by the video frame editor, the portion of which the game is actually played in the mass data storage; Reading the edited image frame from the mass data storage device and setting a resolution; Determining position coordinates of objects in the edited image frame by sequentially extracting and determining a pattern recognition processor; Determining whether an error occurs in the position coordinate values of the objects; If an error has not occurred, determining whether the edited video frame is the last frame; If the edited video frame is the last frame, reading the edited video frame in which no error occurs from the mass data storage device; The edited video frame is compressed by an MPEG encoder and stored in the mass data storage device; Determining whether the edited video frame compressed and stored in the mass data storage device is the last frame; And when the image frame to be compressed and stored is the last frame, storing the position coordinate values of the objects and the compressed image frame in the form of a database in the mass data storage device.

상기 객체들의 위치 좌표값의 에러 발생 여부가 판단되는 단계에서 에러가 발생된 경우, 사용자 인터페이스를 통해 보정하는 단계를 포함한다.If an error occurs in the step of determining whether the error of the position coordinate values of the objects occurs, comprising the step of correcting through a user interface.

상기 영상프레임 편집기에 의해 실제로 경기가 진행된 부분만 추출되어 편집된 영상 프레임이 대용량 데이터 기억장치에 저장되는 단계는 기준 카메라 영상을 재생하여 경기의 시작점에 해당하는 영상 프레임을 검색 설정하는 단계와; 상기 재생되는 경기의 종료점에 해당하는 영상 프레임을 검색 설정하는 단계와; 상기 시작점에 해당하는 영상 프레임을 중심으로 연속된 몇개의 전, 후 영상 프레임을 모니터의 좌측부에 표시하는 단계와; 동기를 맞추고자 하는 카메라의 영상을 검색하여 상기 기준 카메라의 시작점에 해당하는 영상 프레임과 근접한 영상 프레임을 설정하는 단계와; 상기 기준 카메라의 시작점에 해당하는 영상 프레임과 근접한 영상 프레임을 중심으로 연속된 몇개의 전, 후 영상 프레임을 상기 모니터의 우측부에 표시하는 단계와; 상기 기준 카메라의 시작점에 해당하는 영상 프레임과 가장 근접한 순간을 나타내는 영상 프레임이 선택되었는지 확인하는 단계와; 상기 기준 카메라의 시작점에 해당하는 영상 프레임과 가장 근접한 순간을 나타내는 영상 프레임인지의 여부를 판단하는 단계; 및 가장 근접한 순간을 나타내는 영상 프레임인 경우, 동기를 맞추고자 하는 카메라의 영상에 대해서 동기 설정을 선택하는 단계로 이루어진다.The step of extracting only the part of the game actually played by the video frame editor and storing the edited video frame in the mass data storage device may include: retrieving and setting a video frame corresponding to the start point of the game by playing a reference camera image; Searching and setting an image frame corresponding to an end point of the played game; Displaying a plurality of consecutive front and rear image frames on the left side of the monitor with respect to the image frame corresponding to the starting point; Searching for an image of a camera to be synchronized and setting an image frame close to an image frame corresponding to a start point of the reference camera; Displaying a plurality of consecutive front and rear image frames on the right side of the monitor centering on the image frame adjacent to the image frame corresponding to the start point of the reference camera; Checking whether an image frame indicating a moment closest to the image frame corresponding to the starting point of the reference camera is selected; Determining whether the image frame represents a moment closest to the image frame corresponding to the starting point of the reference camera; And in case of an image frame indicating the closest moment, selecting a synchronization setting for the image of the camera to be synchronized.

상기 기준 카메라의 시작점에 해당하는 영상 프레임과 가장 근접한 순간을 나타내는 영상 프레임인지의 여부를 판단하는 단계에서 가장 근접한 순간을 나타내는 영상 프레임이 아닌 경우, 상기 동기를 맞추고자 하는 카메라의 영상을 전,후로 이동하여 가장 근접한 순간을 나타내는 영상 프레임을 검색하는 단계를 포함한다.In the step of determining whether the image frame indicates the moment closest to the image frame corresponding to the start point of the reference camera, if the image frame indicates the moment closest to the image, the image of the camera to be synchronized is moved back and forth. Moving to search for an image frame representing the closest moment.

상기 편집된 영상 프레임을 상기 대용량 데이터 기억장치로부터 읽어와 해상도를 설정하는 단계에서 상기 해상도는 경기장의 윤곽선을 추출한 후, 기준선 높이를 설정하여 해상도를 계산함에 의해 설정된다.In the step of setting the resolution by reading the edited image frame from the mass data storage device, the resolution is set by extracting the contour of the playing field and setting the baseline height to calculate the resolution.

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

도 4는 본 발명에 따른 영상 처리 시스템의 구성을 나타내는 블럭 구성도이고, 도 5는 본 발명에 따른 초당 영상 프레임 생성 수가 서로 다른 경우에 영상 프레임의 생성 시점을 시간축상에 동시에 나타낸 예시도이다.4 is a block diagram illustrating a configuration of an image processing system according to an exemplary embodiment of the present invention, and FIG. 5 is an exemplary diagram illustrating simultaneous generation of image frames on a time axis when the number of image frames generated per second is different.

도 4에 도시된 바와 같이, 본 발명의 구성은 크게 영상 카메라(100)와, 영상처리장치(200)와, 모니터(300) 및 입력 수단(400)으로 구성된다.As shown in FIG. 4, the configuration of the present invention is largely composed of an image camera 100, an image processing apparatus 200, a monitor 300, and an input means 400.

상기 영상 카메라(100)에서 만들어지는 영상신호는 아날로그 영상신호 또는 디지털 영상신호의 데이터 형태로 만들어진다.The video signal generated by the video camera 100 is made in the form of data of an analog video signal or a digital video signal.

상기 영상처리장치(200)는 디지털 데이터 입력장치(201)과, A/D 데이터 변환장치(202)와, 이중 프레임 버퍼(203,204)와, 대용량 데이터 기억장치(205)와, 그래픽 신호 발생기(206)와, 오버레이 버퍼(207)와, 동기 펄스 발생기(208)와, 시스템 클럭 발생기(209)와, 모션 파라미터 기억장치(210)와, 영상프레임 편집기(211)와,패턴 인식 처리기(212)와, MPEG 인코더(213)와, MPEG 디코더(214)와, 사용자 인터페이스(215) 및 제어기(216)로 구성된다.The image processing apparatus 200 includes a digital data input device 201, an A / D data converter 202, dual frame buffers 203 and 204, a large data storage device 205, and a graphic signal generator 206. ), Overlay buffer 207, sync pulse generator 208, system clock generator 209, motion parameter storage 210, video frame editor 211, pattern recognition processor 212, And an MPEG encoder 213, an MPEG decoder 214, a user interface 215, and a controller 216.

상기 영상 카메라(100)로부터 만들어지는 아날로그 영상신호가 상기 영상처리장치(200)로 입력이 되면 상기 A/D 데이터 변환장치(202)를 통해서 디지털 영상신호로 변환되어 상기 이중 프레임 버퍼(204)에 저장이 되고 이것은 다시 상기 대용량 데이터 기억장치(205)로 옮겨지게 된다.When an analog video signal generated from the video camera 100 is input to the image processing apparatus 200, the analog video signal is converted into a digital video signal through the A / D data converter 202 to the dual frame buffer 204. Is stored and then transferred back to the mass data storage 205.

즉, 상기 이중 프레임 버퍼(204)의 한쪽 프레임 버퍼에 영상 데이터가 저장되는 동안 다른 프레임 버퍼에 있는 영상 데이터는 상기 대용량 데이터 기억장치(205)로 옮겨진다.That is, while image data is stored in one frame buffer of the dual frame buffer 204, the image data in the other frame buffer is transferred to the mass data storage device 205.

상기 이중 프레임 버퍼(204)에 영상 데이터가 저장이 완료되면 그 다음 영상 데이터는 다른쪽 프레임 버퍼로 들어가게 된다. 이와 같이 이중 프레임 버퍼를 선택하는 제어 신호는 상기 A/D 데이터 변환장치(202)에 의해서 하드웨어적으로 발생한다.When image data is completely stored in the dual frame buffer 204, the next image data enters the other frame buffer. As such, the control signal for selecting the dual frame buffer is generated in hardware by the A / D data converter 202.

마찬가지로, 상기 영상 카메라(100)로부터 입력되는 디지털 영상신호는 디지털 데이터 입력장치(201)를 통해서 상기 이중 프레임 버퍼(203)로 저장된다.Similarly, the digital video signal input from the video camera 100 is stored in the dual frame buffer 203 through the digital data input device 201.

상기 이중 프레임 버퍼(203)로 저장이 되는 영상 데이터는 상기 대용량 데이터 기억장치(205)로 다시 옮겨지게 된다.The image data stored in the dual frame buffer 203 is transferred back to the mass data storage device 205.

상기 아날로그 영상신호와 상기 디지털 영상신호의 선택은 임의로 결정할 수 있다.The selection of the analog video signal and the digital video signal can be arbitrarily determined.

상기 영상프레임 편집기(211)는 상기 대용량 데이터 기억장치(205)에 기록된동영상 데이터 중에서 필요한 부분만을 잘라내고 프레임마다 발생 시간을 설정한다.The video frame editor 211 cuts out only a necessary portion of the video data recorded in the mass data storage device 205 and sets an occurrence time for each frame.

더욱 구체적으로, 상기 영상프레임 편집기(211)가 하는 기본적인 역할은 동영상으로 기록된 축구 경기의 내용 중에서 실제로 경기가 진행된 시간에 해당하는 부분만을 잘라내는 것이다. 즉 전반전과 후반전, 혹은 연장전에 해당하는 부분만을 뽑아내는 일을 하게 된다.More specifically, the basic role of the image frame editor 211 is to cut out only the portion of the content of the soccer game recorded as a video corresponding to the time when the game was actually played. In other words, only the first half, the second half, or overtime will be drawn out.

만약, 상기 대용량 데이터 기억장치(205)에 저장된 동영상 데이터가 여러 대의 영상 카메라로부터 입력된 것이라면 각각의 영상 카메라로부터 촬영된 동영상 데이터를 편집하는 동안 전체 프레임의 수를 하나로 통일시키는 작업도 병행해서 하게 된다.If the video data stored in the mass data storage device 205 is inputted from multiple video cameras, the operation of unifying the total number of frames into one while editing the video data shot from each video camera is performed in parallel. .

예를 들어서, 두대의 영상 카메라를 통해서 주어진 축구 경기의 내용을 촬영을 하였다면 영상 카메라를 조작한 사람에 따라서 그 촬영 시간의 길이가 서로 다를 수가 있다. 어떤 사람은 경기가 시작되는 순간에 촬영을 시작할 수도 있는 반면에 다른 사람은 경기가 시작되기 5 분 전에 촬영을 시작할 수도 있다.For example, if the contents of a given soccer game were photographed through two video cameras, the length of the shooting time may be different depending on the person operating the video camera. Some people may start shooting at the beginning of a match, while others may start shooting five minutes before the game begins.

또한, 촬영을 끝내는 시간도 서로 다를 수 있을 뿐만 아니라, 전반전이 끝나고 후반전이 시작되기 전에 해당하는 시간동안 촬영을 할 수도 있고 안할 수도 있다.In addition, the shooting time may not only be different, but may or may not be taken for a corresponding time before the end of the first half and the start of the second half.

따라서, 각각의 영상 카메라로부터 촬영된 영상 데이터의 불필요한 부분을 잘라내서 그 촬영 시간의 전체 길이를 동일하게 맞추는 작업이 이루어지게 된다.Therefore, an unnecessary portion of the image data captured by each image camera is cut out to match the entire length of the shooting time.

일단 동영상 데이터로부터 필요한 부분만을 뽑아내는 편집 작업을 하게 되면카메라의 종류에 따라서 초당 발생하는 영상 프레임의 수가 다를 경우 문제가 발생할 수 있다. 즉, 경기의 내용을 기록한 시간을 동일하게 맞춘다고 해도 초당 발생하는 영상 프레임의 수가 다르다면 주어진 시간 동안 발생한 영상 프레임의 총 개수가 카메라마다 달라지게 된다.Once editing is performed to extract only the necessary parts from the video data, a problem may occur when the number of video frames generated per second varies depending on the type of camera. That is, even if the time of recording the content of the game is set equally, if the number of video frames generated per second is different, the total number of video frames generated during a given time varies for each camera.

따라서, 상기 영상프레임 편집기(211)는 사용된 카메라의 프레임 생성 속도가 서로 다를 경우, 가장 낮은 속도로 영상 프레임을 생성하는 카메라에 그 기준을 맞추어서 전체 프레임의 수를 결정한다. 예를 들어서, 초당 16 프레임을 생성하는 영상 카메라와 초당 32 프레임을 생성하는 영상 카메라가 사용되었다면 초당 16 프레임을 기준으로 전체 영상 프레임의 수를 통일시킨다.Therefore, when the frame generation rates of the used cameras are different from each other, the image frame editor 211 determines the total number of frames based on the criteria of the camera generating the image frames at the lowest rate. For example, if an image camera generating 16 frames per second and an image camera generating 32 frames per second are used, the total number of image frames is unified based on 16 frames per second.

도 5에 도시된 바와 같이, 아래쪽에 나타낸 것은 1 초를 16 등분으로 나눈 시간축을 표시한다. 영상 프레임 편집기의 기준은 초당 16 프레임을 발생하는 영상 카메라로 주어지게 되므로 카메라 B 로부터 발생하는 영상 프레임은 이 시간과 동기가 서로 맞게 된다. 즉 1/16 초당 하나의 프레임이 발생하게 된다.As shown in FIG. 5, what is shown below indicates the time axis by dividing 1 second by 16 equal parts. Since the frame of the image frame editor is given to the image camera generating 16 frames per second, the image frame generated from the camera B is synchronized with this time. That is, one frame per second will occur.

이에 비해서 초당 32 장의 프레임을 발생하는 카메라 A 는 1/16 초당 두 개의 프레임을 발생하는 것과 같다. 따라서, 카메라 B 의 프레임 발생수에 맞추기 위해서 두장의 프레임 중에서 하나를 버리게 된다. 이때 버려지는 프레임은 1/16 초당 하나씩 발생하는 기준 시간으로부터 먼 곳에 위치하는 프레임으로 결정한다.In comparison, Camera A, which generates 32 frames per second, is equivalent to generating two frames per second. Therefore, one of two frames is discarded in order to match the number of frame occurrences of the camera B. In this case, the discarded frame is determined as a frame located far from a reference time that occurs once per 1/16 second.

즉, 짝수번의 프레임 번호를 갖는 영상 프레임이 선택되고 홀수번의 프레임 번호를 갖는 것이 버려진다. 그러나, 실제로 두개의 영상 카메라가 정확하게 동일한 순간에 영상 프레임을 만들지 못했을 경우에는 두개의 카메라가 만들어내는 영상 프레임 간에 약간의 지연 시간, 즉 Δt가 존재할 수 있다.That is, an image frame having an even number of frames is selected and one having an odd number of frames is discarded. However, when two video cameras do not actually create an image frame at exactly the same moment, there may be a slight delay time, Δt, between the image frames produced by the two cameras.

사람이 시속 21 킬로미터의 속도로 이동한다고 하였을 때, Δt= 1/32로 주어진다면 이는 영상 프레임 편집 과정을 통해서 약 18.2 센티미터의 오차가 발생할 수 있다는 것을 의미한다. 즉, 카메라 A 에서 촬영된 영상으로 계산한 위치 좌표값과 카메라 B 에서 촬영된 영상으로 계산된 동일한 객체의 위치 좌표값 사이에 계산 오차가 18.2 센티미터만큼 존재할 수 있다는 것을 의미한다.If a person travels at a speed of 21 kilometers per hour, given Δt = 1/32, this means that an error of about 18.2 centimeters can occur through the video frame editing process. That is, a calculation error may exist between 18.2 centimeters between the position coordinate value calculated by the camera A and the position coordinate value of the same object calculated by the camera B.

이러한 오차 문제를 해결하는 방법으로 본 발명에서는 동기 펄스 발생기(208)를 통해서 영상 카메라가 프레임을 만드는 시간을 지정해주는 동기 신호를 만들어서 공급해주는 것이다.As a method of solving such an error problem, in the present invention, the synchronization pulse generator 208 generates and supplies a synchronization signal that designates a time for creating a frame by the video camera.

영상처리장치(200)의 외부에 연결되는 카메라들에 동일한 시각에 발생하는 동기 신호를 공급해주게 되면 프레임 발생 시간을 맞추는 것이 가능하며, 이것은 Δt를 0 으로 만드는 것과 같다. 따라서 위치 좌표값에 나타나는 오차를 없애는 것이 가능하게 된다.When the synchronization signal generated at the same time is supplied to the cameras connected to the outside of the image processing apparatus 200, it is possible to set the frame generation time, which is equivalent to making Δt to zero. Therefore, it becomes possible to eliminate the error which appears in a position coordinate value.

상기 시스템 클럭 발생기(209)는 프레임 발생시간을 상기 영상프레임 편집기(211)로 공급한다.The system clock generator 209 supplies a frame generation time to the image frame editor 211.

상기 패턴 인식 처리기(212)는 상기 대용량 데이터 기억장치(205)에 기록되어 있는 영상 프레임을 읽어서 객체들의 위치 좌표값을 결정하고 그 결과를 상기 대용량 데이터 기억장치(205)에 저장한다.The pattern recognition processor 212 reads the image frame recorded in the mass data storage device 205 to determine the position coordinate values of the objects, and stores the result in the mass data storage device 205.

상기 MPEG 인코더(213)는 상기 대용량 데이터 기억장치(205)에 저장된 영상 프레임을 순차적으로 읽으면서 압축하고 그 결과를 다시 상기 대용량 데이터 기억장치(205)에 저장한다.The MPEG encoder 213 sequentially reads and compresses an image frame stored in the mass data storage 205 and stores the result in the mass data storage 205 again.

상기 MPEG 디코더(214)는 상기 대용량 데이터 기억장치(205)에 저장되어 있는 MPEG 영상 데이터를 읽어서 원래의 동영상으로 복원한다.The MPEG decoder 214 reads MPEG image data stored in the mass data storage 205 and restores the original moving image.

상기 모션 파라미터 기억장치(210)는 MPEG 인코딩과 디코딩 과정에서 발생하는 파라미터들을 임시로 저장하기 위해서 사용된다.The motion parameter storage 210 is used to temporarily store parameters generated during MPEG encoding and decoding.

상기 사용자 인터페이스(215)는 마우스, 키보드, 조이스틱 등과 같이 사용자의 명령을 입력받는다.The user interface 215 receives a user's command such as a mouse, a keyboard, a joystick, and the like.

상기 제어기(216)는 상기 사용자 인터페이스(215)를 통한 제어 명령을 상기 영상프레임 편집기(211)와, 상기 패턴 인식 처리기(212)와, 상기 MPEG 인코더(213) 및 상기 MPEG 디코더(214)로 전달한다.The controller 216 transmits a control command through the user interface 215 to the image frame editor 211, the pattern recognition processor 212, the MPEG encoder 213, and the MPEG decoder 214. do.

상기 오버레이 버퍼(207)는 영상 정보 위에 그래픽 정보를 겹쳐서 표시하고, 상기 그래픽 신호 발생기(206)는 현재 처리중인 영상을 사용자에게 보여주기 위한 출력 장치로서 사용된다.The overlay buffer 207 superimposes graphic information on the image information, and the graphic signal generator 206 is used as an output device for showing the image currently being processed to the user.

상기 동기 펄스 발생기(208)는 상기 영상 카메라(100)가 영상 프레임을 발생시키는 시간을 지정하는 목적으로 사용된다.The sync pulse generator 208 is used for the purpose of specifying the time when the image camera 100 generates an image frame.

도 6은 본 발명에 따른 영상처리 프로세스를 나타내는 흐름도이다.6 is a flowchart illustrating an image processing process according to the present invention.

도시된 바와 같이, 영상프레임 편집기(110)에 의해 기록된 축구 경기의 내용 중에서 불필요한 부분은 제거되고 실제로 경기가 진행된 부분만 추출되어 편집되는 단계(S10)와, 상기 편집된 영상프레임을 대용량 데이터 기억장치(205)로부터 읽어와 해상도를 설정하는 단계(S20)와, 상기 편집된 영상 프레임의 객체들의 위치 좌표값이 패턴인식 처리기(212)에 의해 결정되는 단계(S30)와, 상기 객체들의 위치 좌표값 계산에 에러가 발생되었는지 판단되는 단계(S40)와, 에러가 발생된 경우, 사용자가 개입하여 사용자 인터페이스(215)를 통해 에러를 보정하는 단계(S50)와, 에러가 발생되지 않은 경우, 마지막 프레임인지의 여부가 판단되는 단계(S60)와, 마지막 프레임인 경우, 상기 편집된 영상프레임을 상기 대용량 데이터 기억장치(205)로부터 읽어오는 단계(S70)와, 기록된 모든 영상 프레임에 대해서 패턴 인식 처리가 끝나게 됨에 따라 기록된 동영상들이 MPEG 인코더(213)에 의해 압축되어 상기 대용량 데이터 기억장치(205)에 저장되는 단계(S80)와, 마지막 프레임인지의 여부가 판단되는 단계(S90)와, 상기 패턴인식 처리기(212)에 의해 계산된 객체들의 위치 좌표값들과 상기 MPEG 인코더(213)에 의해 MPEG으로 인코딩된 영상 데이터들 즉, 기초 정보들이 상기 대용량 데이터 기억장치(205)에 저장되는 단계(S100)로 이루어진다.As shown, the step of removing unnecessary parts from the contents of the football game recorded by the image frame editor 110 and extracting and editing only the part in which the game actually proceeds (S10) and storing the edited video frame in a large amount of data Reading from the device 205 to set the resolution (S20), determining the position coordinates of the objects of the edited image frame by the pattern recognition processor 212 (S30), and the position coordinates of the objects. Step S40 of determining whether an error has occurred in calculating the value, if an error occurs, correcting the error through the user interface 215 through the user interface S215, and if an error does not occur, Whether it is a frame (S60); if it is the last frame, reading the edited video frame from the mass data storage device (205) (S70); As the pattern recognition processing is completed for all the image frames, the recorded motion pictures are compressed by the MPEG encoder 213 and stored in the mass data storage device 205 (S80). In step S90, the position coordinate values of the objects calculated by the pattern recognition processor 212 and the image data encoded in MPEG by the MPEG encoder 213, that is, the basic information are stored in the mass data storage device. In step S205, the process is performed.

도 7은 본 발명에 따른 사용자 인터페이스인 제어판의 구성 방법의 일예를 나타낸 예시도이고, 도 8은 상기 도 7과 함께 사용되는 모니터의 화면 분할을 나타낸 예시도이며, 도 9는 본 발명에 따른 사용자 인터페이스를 통해서 두 개의 영상 카메라로부터 만들어진 동영상을 편집하기 위한 흐름도이다.7 is an exemplary view showing an example of a configuration method of a control panel which is a user interface according to the present invention, FIG. 8 is an exemplary view showing screen division of a monitor used in conjunction with FIG. 7, and FIG. 9 is a user according to the present invention. This is a flowchart for editing video created from two video cameras through the interface.

영상프레임 편집기(211)를 위한 사용자 인터페이스인 제어판은 크게 기준 카메라 영상을 다루기 위한 부분과 기준 카메라 영상에 동기를 맞추고자 하는 카메라 영상을 다루는 부분으로 나누어진다.The control panel, which is a user interface for the image frame editor 211, is largely divided into a part for handling a reference camera image and a part for handling a camera image to synchronize with the reference camera image.

기준 카메라 영상을 다루는 부분을 이루고 있는 구성 요소들로는 카메라 선택 콤보박스(211a)와, 프레임선택 슬라이드바(211b)와, 재생 버튼(211c)과, 정지 버튼(211d)과, 앞으로 프레임을 검색하는 포워드 버튼(211e), 뒤로 프레임을 검색하는 리버스 버튼(211f), 현재 프레임 번호를 보여주는 에디트 박스(211g), 현재 프레임을 시간으로 보여주는 에디트 박스(211h), 프레임을 앞 뒤로 검색할 때 건너 뛰는 스텝을 조절하는 이동간격 에디트박스(211i), 전반전 시작점을 지정하기 위한 프레임 설정버튼(211j), 전반전의 종료시점을 지정하는 프레임 설정버튼(211k), 후반전 시작점을 지정하기 위한 프레임 설정버튼(211m), 후반전의 종료 시점을 지정하는 프레임 설정버튼(211n), 초당 발생하는 프레임의 수를 지정하는 에디트 박스(211p)로 구성된다.The components constituting the reference camera image include a camera selection combo box 211a, a frame selection slide bar 211b, a play button 211c, a stop button 211d, and a forward frame search. Button 211e, reverse button 211f to search backward frames, edit box 211g showing the current frame number, edit box 211h showing the current frame as time, and skipping steps when searching for frames back and forth Move interval edit box 211i to adjust, frame setting button 211j for specifying the first half start point, frame setting button 211k for specifying the end point of the first half, frame setting button 211m for specifying the second half start point, The frame setting button 211n which designates the end time of the 2nd half, and the edit box 211p which designates the number of frames which generate | occur | produce per second are comprised.

기준 카메라와 동기를 맞추는 카메라 프레임을 조절하는 부분에는 기준 카메라에서 설정된 프레임의 길이에 맞게 만들어주는 동기 설정버튼(211q)이 있다.The part for adjusting the camera frame to synchronize with the reference camera has a synchronization setting button 211q that is made according to the length of the frame set in the reference camera.

예를 들어서, 카메라 B의 초당 프레임 발생 속도가 16 이라고 하고 기록된 경기의 시간 길이를 1 시간 55 분이라고 가정한다. 그리고 프레임 번호가 300 이 되는 근처에서 전반전이 시작된다고 가정한다.(연장전에 대한 프레임 조절을 할 경우에는 설정 버튼을 몇 개 더 추가하면 된다.) 슬라이드 바를 조절하면 현재 프레임 번호와 시간이 자동적으로 바뀌게 되는데 현재 프레임 번호가 300 이 되도록 슬라이드바를 조절한다. 현재 프레임 번호가 300 이 되면 전반전 시작 설정 버튼을 누른다. 그러면 프레임 번호 300 이 설정 버튼 옆에 위치한 에디트 박스안에 나타나게 된다. 시작 프레임이 설정되면 해당 프레임과 앞 뒤로 두개의 프레임이 도 8에 나타난 모니터의 왼쪽 부분에 도시된다. 즉, 현재 시작 프레임으로 설정된 영상이 B[n] 의 위치에 도시되고 이전의 두 프레임과 이후의 두 프레임이 각각 B[n-2], B[n-1], B[n+1], B[n+2]의 위치에 도시된다.For example, suppose that the rate of frame generation per second of camera B is 16 and the length of time of the recorded race is 1 hour 55 minutes. It is also assumed that the first half starts near the frame number 300. (If you want to adjust the frame for extension, add a few more buttons.) Adjust the slide bar to change the current frame number and time automatically. Adjust the slide bar so that the current frame number is 300. If the current frame number is 300, press the first half start setting button. Frame number 300 will then appear in the edit box located next to the Settings button. When the start frame is set, the frame and two frames before and after are shown in the left part of the monitor shown in FIG. That is, the image set as the current start frame is shown at the position of B [n], and the previous two frames and the subsequent two frames are respectively B [n-2], B [n-1], B [n + 1], It is shown at the position of B [n + 2].

만약에 시작점을 앞이나 뒤로 조절하고 싶으면 상기 포워드 버튼(211e)나 리버스 버튼(211f)을 이용하여 이동시킨다. 시작 프레임 번호가 변경되면 다시 시작 설정 버튼(211j)을 누른다. 다음으로 전반전의 종료 시점을 설정하기 위해서 슬라이드 바를 앞으로 이동시킨다. 전반전의 시작 시점은 설정을 통해서 알게 되므로 약 45 분이 더해진 시점으로 이동하면 된다. 이동한 프레임을 중심으로 앞 뒤로 검색하면서 전반전이 종료되는 프레임을 결정한다. 전반전이 종료되는 프레임이 선택되면 전반전 종료 설정버튼(211k)을 누른다. 그러면 그 옆에 위치한 에디트 박스 안에 해당하는 프레임의 번호가 나타나게 된다. 이상과 같은 과정을 후반전에 대해서 반복하게 되면 후반전의 시작 프레임과 종료 프레임을 결정할 수 있게 된다.If you want to adjust the start point forward or backward, use the forward button 211e or the reverse button 211f to move. When the start frame number is changed, press the start setting button 211j again. Next, move the slide bar forward to set the end time of the first half. Since the start of the first half is known through the setting, move to the point where about 45 minutes have been added. Searches forward and backward around the moved frame to determine the frame at which the first half ends. When the frame in which the first half ends is selected, the first half end setting button 211k is pressed. The number of the corresponding frame will appear in the edit box next to it. If the above process is repeated for the second half, it is possible to determine the start frame and the end frame of the second half.

기준 영상 카메라에 대한 설정이 끝나면 다음으로 동기를 맞추고자 하는 카메라 A 를 선택한다. 카메라가 선택되면 슬라이드 바를 조절하여 전반전의 시작점을 찾는다. 시작점 근처에 도달하면 전반전 시작 설정 버튼을 누른다. 그러면 시작 프레임을 기준으로 앞과 뒤로 두개의 연속된 프레임이 모니터의 오른쪽에 도시된다. 기준 영상 카메라의 전반전 시작 프레임은 전반전 시작 설정 버튼을 누름으로써 모니터의 왼쪽에 나오도록 한다. 카메라 A 의 시작 프레임을 앞 뒤로 조절하여 기준 카메라의 시작점에 가장 일치하는 프레임을 찾는다. 카메라 A 의 시작 프레임이 설정되면 카메라 A 의 초당 프레임 발생 속도를 입력한 후 동기 설정 버튼(211q)을 누른다. 전반전을 구성하는 프레임의 길이는 기준 카메라의 영상을통해서 결정되었으므로 시작점과 초당 발생 프레임의 수가 정해지면 전반전의 종료 시점이 자동적으로 결정된다. 동기 설정이 완료되면 전반전의 종료 프레임 번호가 에디트 박스에 나타나게 된다. 후반전에 대한 프레임 동기도 이와 같은 과정을 반복하여 결정된다. 만약에 전반전이 진행되는 동안에 선수 교체가 이루어진다거나 아니면 선수의 부상으로 인하여 경기가 잠시 중단되는 경우에도 영상 프레임 편집 과정을 통해서 잘라낼 수 있다.After setting the reference video camera, select the camera A to be synchronized. Once the camera is selected, adjust the slide bar to find the start of the first half. When you get near the starting point, press the Start 1st Half setup button. Then two consecutive frames, front and back with respect to the start frame, are shown on the right side of the monitor. The first half start frame of the reference video camera is displayed on the left side of the monitor by pressing the first half start setting button. Adjust the starting frame of camera A back and forth to find the frame that most closely matches the starting point of the reference camera. When the start frame of the camera A is set, the frame rate per second of the camera A is input, and the synchronization setting button 211q is pressed. Since the length of the frame constituting the first half is determined by the image of the reference camera, when the start point and the number of frames generated per second are determined, the end point of the first half is automatically determined. When the synchronization setting is completed, the first half frame number appears in the edit box. Frame synchronization for the second half is also determined by repeating this process. If a player is replaced during the first half, or if the game is temporarily stopped due to injury of the player, it may be cut out through the video frame editing process.

이상과 같은 과정을 요약하면 도 9와 같이 주어진다.The above process is summarized as shown in FIG.

도 9에 도시된 바와 같이, 기준 카메라 영상을 재생하여 경기의 시작점을 검색한 뒤 해당 프레임을 설정하는 단계(S11)와, 경기의 종료점에 해당하는 프레임을 검색하여 설정하는 단계(S12)와, 기준 카메라 영상의 시작점을 중심으로 앞과 뒤의 연속된 몇 개의 프레임을 모니터의 왼쪽에 표시하는 단계(S13)와, 동기를 맞추고자 하는 카메라 영상을 검색하여 기준 카메라의 시작점과 근접한 프레임을 설정하는 단계(S14)와, 시작점을 중심으로 앞과 뒤의 연속된 몇 개의 프레임을 모니터의 오른쪽에 표시하는 단계(S15)와, 기준 카메라의 시작점에 해당하는 영상과 가장 근접한 순간을 나타내는 프레임이 선택되었는가를 확인하는 단계(S16)와, 가장 근접한 프레임인가 판단하는 단계(S17)와, 가장 근접한 프레임인 경우, 동기를 시키고자 하는 카메라 영상에 대해서 동기 설정을 선택하는 단계(S18) 및 가장 근접한 프레임이 아닌 경우, 동기를 시키고자 하는 카메라의 영상을 앞뒤로 이동하면서 가장 근접한 순간의 프레임을 검색하는 단계(S19)로 이루어진다.As shown in FIG. 9, after reproducing the reference camera image to search for the start point of the game and setting the corresponding frame (S11), and searching and setting the frame corresponding to the end point of the game (S12); Displaying a plurality of consecutive frames in front of and behind the reference camera image on the left side of the monitor (S13), and searching for the camera image to be synchronized to set a frame close to the starting point of the reference camera image. In step S14, displaying a plurality of consecutive frames before and after the start point on the right side of the monitor, in step S15, and selecting a frame representing the moment closest to the image corresponding to the start point of the reference camera. (S16), determining whether it is the closest frame (S17), and when it is the closest frame, for the camera image to be synchronized. Selecting the synchronization setting (S18) and, if it is not the closest frame, step (S19) to search for the frame of the closest moment while moving back and forth the image of the camera to be synchronized.

그리고, 주어진 축구 경기의 진행 과정이 영상 프레임 편집 과정을 거치게되면 여러 개의 프레임 그룹으로 나누어지게 된다. 정상적으로 경기가 진행되었다고 했을 때, 발생할 수 있는 프레임 그룹으로는 전반전, 후반전, 연장 전반전, 연장 후반전 등과 같이 4 가지로 나누어진다. 그러나, 전반전이 진행되는 동안에 선수 교체가 이루어진다거나 아니면 선수의 부상으로 인하여 경기가 잠시 중단되는 경우를 고려하게 되면 더욱 많은 프레임 그룹이 만들어질 수 있다.When the process of a given soccer game goes through the video frame editing process, it is divided into several frame groups. When a match is played normally, there are four frame groups that can occur: 1st half, 2nd half, extra 1st half, 2nd half. However, more frame groups can be created if the player is replaced during the first half, or if the game is temporarily suspended due to injury of the player.

따라서, 각각의 프레임 그룹을 구별하기 위한 데이터 구조를 도 10과 같이 정의하여 사용한다.Therefore, a data structure for distinguishing each frame group is defined and used as shown in FIG. 10.

도 10은 본 발명에 따른 각각의 프레임 그룹을 구별하기 위한 데이터 구조를 정의하여 사용하는 사용 예시도이다.FIG. 10 is a diagram illustrating usage of defining and using a data structure for distinguishing each group of frames according to the present invention. FIG.

도시된 바와 같이, 경기 ID 번호는 서로 다른 축구 경기를 구별하기 위해서 사용하는 것으로서 4 바이트 숫자로 정해진다. 서로 다른 프레임 그룹이 동일한 경기 ID 번호를 가지고 있으면 동일한 경기를 구성하는 프레임 그룹이라는 것을 의미한다. 프레임 그룹 시작 시간은 4 바이트, 16 진수로 표현되며 그 의미는 다음의 표 2의 내용으로 프레임 그룹 시작 시간의 데이터 포맷을 나타낸다.As shown, the game ID number is used to distinguish different soccer games and is set to a 4-byte number. If different frame groups have the same race ID number, it means that the frame groups constitute the same race. The frame group start time is expressed in 4 bytes and hexadecimal numbers. The meaning of the frame group start time indicates the data format of the frame group start time.

바이트 구성Byte configuration 의미meaning 설 명Explanation 0xHH0xHH 시간time H,M,S는 0~6 사이의 값을 가지며 T는 0~9 사이의 값을 가진다.예를 들어서 시간이 0x01103180으로 주어진다면 이것은01:10:31.80 초라는 것을 의미한다.H, M, and S have a value between 0 and 6, and T has a value between 0 and 9. For example, if the time is given by 0x01103180, this means 01: 10: 31.80 seconds. 0xMM0xMM minute 0xSS0xSS second 0xTT0xTT 백분의 일초A hundredth

경기 인덱스는 2 바이트(16 비트) 숫자로 주어지며 해당 프레임 그룹이 전반전, 후반전, 연장전 중에서 어디에 속하는지를 나타내기 위해서 사용된다. 경기 인덱스를 구성하는 각 비트의 의미는 다음 표 3의 내용으로 프레임 그룹의 경기 인덱스 정의를 나타낸다.The match index is given as a 2-byte (16-bit) number and is used to indicate whether the frame group belongs to the first half, second half, or extra time. The meaning of each bit constituting the match index indicates the match index definition of the frame group as shown in Table 3 below.

비트 위치Bit position 설명Explanation B15(MSB)B15 (MSB) 비트 값이 '1'이면 전반전에 속한 프레임 그룹이라는 것을 의미한다.If the bit value is '1', it means that it is a frame group belonging to the first half. B14B14 비트 값이 '1'이면 후반전에 속한 프레임 그룹이라는 것을 의미한다.If the bit value is '1', it means that the frame group belongs to the second half. B13B13 비트 값이 '1'이면 연장 전반전에 속한 프레임 그룹이라는 것을 의미한다.If the bit value is '1', it means that the frame group belongs to the first half of extension. B12B12 비트 값이 '1'이면 연장 후반전에 속한 프레임 그룹이라는 것을 의미한다.If the bit value is '1', it means that the frame group belongs to the second half of the extension. B11B11 비트 값이 '1'이면 서든 데쓰전에 속한 프레임 그룹이라는 것을 의미한다.If the bit value is '1', it means that it is a frame group belonging to sudden death. B10B10 비트 값이 '1'이면 승부차기에 속한 프레임 그룹이라는 것을 의미한다.If the bit value is '1', it means that the frame group belongs to the penalty shootout. B9~B7B9-B7 영상 데이터 타입. 주어진 값에 따라서 서로 다른 이미지 포맷을 가리킨다.'0'=Uncompressed, '1'=JPEG, '2'=MPEG.Image data type. It points to different image formats according to the given values: '0' = Uncompressed, '1' = JPEG, '2' = MPEG. B6~B0B6-B0 경기의 기록을 위해서 사용된 영상 카메라의 ID 번호ID number of the video camera used to record the game

영상 프레임 편집 과정이 완료되면 모든 카메라로부터 촬영된 영상 프레임의 수가 동일하게 맞추어지게 되고 프레임이 발생하는 시간이 서로 동기화되며 필요없는 부분의 영상들이 모두 제거된다. 또한, 전, 후반전을 구성하는 영상 프레임의 총 수와 경기 시간 등도 따라서 정해진다.When the video frame editing process is completed, the number of video frames shot from all cameras is equally matched, the time at which the frames are generated is synchronized with each other, and all the unnecessary parts are removed. In addition, the total number of video frames constituting the first half and the second half, the game time, and the like are determined according to the above.

패턴 인식 처리기는 편집이 완료된 모든 프레임 그룹에 속한 영상 데이터를 가지고 각 객체들의 위치 좌표값을 계산하게 된다.The pattern recognition processor calculates the position coordinates of each object with the image data belonging to all the edited frame groups.

도 11a와 도 11b는 본 발명에 따른 편집이 완료된 모든 프레임 그룹에 속한영상 데이터의 각 객체들의 위치 좌표값을 계산하기 위한 흐름도이다.11A and 11B are flowcharts for calculating position coordinate values of each object of image data belonging to all edited frame groups according to the present invention.

도시된 바와 같이, 영상 프레임 편집 과정이 끝나게 되면 축구 경기의 촬영에 사용된 영상 카메라의 총수 K, 카메라 k를 통해서 만들어진 프레임 그룹의 수 M(k), 카메라 k의 프레임 그룹 m에 속한 프레임의 수 N(m), 영상 카메라 인덱스 k=1, 카메라 k를 통해서 만들어진 프레임 그룹 인덱스 m=1, 카메라 k의 프레임 그룹 m에 속한 프레임 인덱스 m=1과 같이 주어지는 단계(S310)와, 카메라 k의 화면상에 나타나는 화소간 거리 분해능, 즉 해상도를 결정하는 단계(S320) k=k+1 와, k <= K 인지 판단하는 단계(S330)와, k <= K 인 경우에는 상기 해상도를 결정하는 단계(S320)로 되돌아 간다. k <= K 이 아닌 경우, k=1. 영상 프레임 F(k,m,n)을 대용량 기억장치에 읽어들인 다음 패턴 인식 처리를 하여 인식된 각 객체들에 고유한 ID를 부여하는 단계(S340) k=k+1 와, k <= K 인지 판단하는 단계(S350)와, k <= K 인 경우에는 상기 ID를 부여하는 단계(S340)로 되돌아 간다. k <= K 이 아닌 경우에는 각 개체별 연결 데이터 구조를 초기화 하는 단계(S360)와, 상기 연결 데이터 구조를 구성하는 파라미터들은 프레임 그룹 인덱스, 프레임 인덱스, 객체의 ID 번호, 해당 객체를 촬영한 영상 카메라와 인덱스 리스트, 해당 객체의 위치 좌표값 및 속성이다. 다음으로 처리할 영상 프레임을 지정하는 단계(S370) k=1, n=n+1 와, n <= N 인지 판단하는 단계(S380)와, n <= N 인 경우에 영상 프레임 F(k,m,n)을 대용량 기억 장치에서 읽어들인 다음 패턴 인식 처리를 하고 인접한 영역에서 이동해 들어온 객체가 있는지를 검사하며 계산된 객체의 위치 좌표값과 속성을 연결 데이터 구조에 저장하는 단계(S390) k=k+1 와, k <= K 인지 판단하는 단계(S400)와, k<= K 인 경우에는 상기 계산된 객체의 위치 좌표값과 속성을 연결 데이터 구조에 저장하는 단계(S390)로 되돌아간다. k <= K 이 아닌 경우에 다음으로 처리 할 영상 프레임을 지정하는 단계(S410) k=1, n=n+1 와, n <= N 인지 판단하는 단계(S420)와, n <= N 인 경우에는 상기 계산된 객체의 위치 좌표값과 속성을 연결 데이터 구조에 저장하는 단계(S390)로 되돌아간다. n <= N 이 아닌 경우에 해당 프레임 그룹 내에서 계산된 객체들의 위치 좌표값에 오류를 발생하였는지를 검사하는 단계(S430)와, 오류가 있는지 판단하는 단계(S440)와, 오류가 있는 경우에 위치 좌표값의 오류를 사용자 인터페이스를 통해서 보정하는 단계(S450)와, 다음으로 처리할 프레임 그룹을 지정하는 단계(S460) k=1, m=m+1 와, m <= M 인지 판단하는 단계(S470) 및 m <= M 이 아닌 경우에 종료되는 단계(S480)로 이루어진다. 만약, m <= M 인 경우에는 상기 ID를 부여하는 단계(S340)로 되돌아 간다.As shown in the figure, when the video frame editing process is completed, the total number K of video cameras used for shooting a soccer game, the number of frame groups M made through camera k, and the number of frames belonging to the frame group m of camera k. Step (S310) given as N (m), video camera index k = 1, frame group index m = 1 made through camera k, frame index m = 1 belonging to frame group m of camera k, and the screen of camera k Determining distance resolution between pixels, i.e., resolution, on the image (S320), determining k = k + 1 and k <= K (S330), and determining the resolution when k <= K. Return to (S320). if k <= K, then k = 1. Read image frame F (k, m, n) into a mass storage device and then perform pattern recognition processing to assign a unique ID to each recognized object (S340) k = k + 1 and k <= K In step S350, if k <= K, the process returns to step S340. If k <= K, the step of initializing the connection data structure for each object (S360), and the parameters constituting the connection data structure are frame group index, frame index, ID number of the object, and image photographing the object. Camera and index list, location coordinates and properties of the object. Next, a step of designating an image frame to be processed (S370) k = 1, n = n + 1 and a step of determining whether n <= N (S380), and when n <= N, an image frame F (k, m, n) is read from the mass storage device, and then subjected to pattern recognition processing, and checking whether there is an object moved from an adjacent area, and storing the calculated position coordinate values and attributes of the object in the connection data structure (S390) k = The method returns to step S400 of k + 1, k <= K and, if k <= K, the method returns to step S390 of storing the calculated position coordinates and attributes of the object in the connection data structure. If k <= K, the step of designating the next image frame to be processed (S410) k = 1, n = n + 1 and determining whether n <= N (S420), and n <= N In the case, the method returns to step S390 of storing the calculated position coordinate values and the attributes of the object in the connection data structure. If n <= N is not checked (S430), and if there is an error (S440), and if there is an error Compensating the error of the coordinate value through the user interface (S450), and specifying the next frame group to be processed (S460) and determining whether k = 1, m = m + 1 and m <= M ( S470) and the step (S480) is terminated when m <= M. If m <= M, the flow returns to step S340.

상기에서 객체의 위치 좌표값을 계산하기 위해서는 먼저 경기장을 표현하는 운동장 좌표계와 카메라에서 사용하는 화면 좌표계 간의 관계를 정의하여야 한다.In order to calculate the position coordinate value of the object, first, the relationship between the playground coordinate system representing the stadium and the screen coordinate system used by the camera must be defined.

도 12는 본 발명에 따른 영상 카메라가 운동장의 표면과 사각을 이루는 경우의 운동장 좌표계와 화면 좌표계 사이의 관계를 나타낸 예시도로써, 운동장 좌표계와 화면 좌표계는 모두 직교 좌표계로 정의된다.12 is an exemplary diagram illustrating a relationship between a playground coordinate system and a screen coordinate system when the image camera according to the present invention forms a square with the surface of the playground, and both the playground coordinate system and the screen coordinate system are defined as Cartesian coordinate systems.

도시된 바와 같이, 카메라와 운동장의 표면이 이루는 각도 Ø와 방향각에 의해서 화면 좌표계 상에 투영되는 운동장 좌표계는 직교 좌표계로 나타나지 않게 된다. 즉, 멀리 있는 물체일수록 크기가 작아지는 것처럼 보이는 원근법이 운동장 좌표계에 적용된다.As shown, the angle Ø and the direction angle between the camera and the surface of the playground By doing so, the playground coordinate system projected on the screen coordinate system does not appear in the rectangular coordinate system. In other words, perspective is applied to the playground coordinate system, which appears to be smaller in distant objects.

화면 좌표계 상에서의 화소간 거리 분해능, 즉 객체의 이동을 감지할 수 있는 해상도는 화면 좌표계상에 투영된 운동장의 사이드 라인에 의해서 계산될 수 있다. 예를 들어서 도 12에 나타난 것과 같이, 화면 좌표계의 원점에서 수평 방향으로의 해상도는 C3 와 C4 사이를 잇는 화소의 수와 운동장에서의 실제 거리를 알면 구할 수 있다. 화면 좌표계 상의 점 C3 는 점 D1 과 D3 가 연결되어서 만들어지는 운동장 좌표계의 사이드 라인(S)과 만나게 된다. 이때, 점 D1 과 D3 를 연결하는 선의 화소간 거리, d13로 주어진다. 따라서 점 C3와 D3 사이의 거리, d33와 d13간의 관계는 다음 식 1과 같이 주어진다.The distance resolution between pixels on the screen coordinate system, that is, the resolution capable of detecting the movement of the object, may be calculated by the side line of the playground projected on the screen coordinate system. For example, as shown in FIG. 12, the resolution from the origin of the screen coordinate system to the horizontal direction can be obtained by knowing the number of pixels connected between C3 and C4 and the actual distance in the playground. Point C3 on the screen coordinate system meets the side line S of the playground coordinate system created by connecting points D1 and D3. In this case, the distance between pixels of the line connecting the points D1 and D3, d 13 is Is given by Therefore, the relationship between the points C3 and D3, d 33 and d 13 is given by Equation 1 below.

즉, 운동장 좌표계 상에서 점 D1 과 D3 간의 거리가 75 미터라고 한다면 점 C3 와 D3 간의 거리를 알수 있게 된다. 마찬가지로 점 C4 와 D4 사이의 거리를 알 수가 있으며 결국 C3 와 C4 간의 거리를 구할 수 있다. 점 C3 와 C4 사이의 거리가 화면 좌표계 상에서 차지하는 화소의 수는 점 C3 와 C4 사이에 존재하는 화소의 수로 주어지므로 화소당 거리 분해능을 계산할 수 있다. 똑 같은 방법으로 화면 좌표계에서 수직 방향으로 h 만큼 떨어져 있는 수평축의 거리 분해능을 계산할 수 있다.That is, if the distance between the points D1 and D3 in the playground coordinate system is 75 meters, the distance between the points C3 and D3 can be known. Similarly, we can find the distance between points C4 and D4 and eventually find the distance between C3 and C4. Since the number of pixels occupied on the screen coordinate system by the distance between the points C3 and C4 is given by the number of pixels existing between the points C3 and C4, the distance resolution per pixel can be calculated. In the same way, we can calculate the distance resolution of the horizontal axis h in the vertical direction in the screen coordinate system.

따라서, 화면 좌표계 상에 주어진 임의의 수직축상의 점에서 수평 방향의 거리 분해능을 구할 수 있으며 이는 다음 식 2와 같이 주어진다.Thus, the distance resolution in the horizontal direction can be obtained from a point on any vertical axis given on the screen coordinate system, which is given by Equation 2 below.

여기에서는 q=0 에서의 해상도이고,는 q=h 에서의 해상도이다. 화면 좌표계 상의 수직 방향의 해상도는 수평축의 위치에 무관하게 주어지며, 화면 좌표계의 원점에 위치한 수직축이 운동장 좌표계와 만나는 점들로부터 계산될 수 있다.From here Is the resolution at q = 0, Is the resolution at q = h. The resolution in the vertical direction on the screen coordinate system is given regardless of the position of the horizontal axis, and may be calculated from points where the vertical axis located at the origin of the screen coordinate system meets the playground coordinate system.

주어진 카메라의 위치와 방향각, 그리고 사용된 배율에 의해서 결정되는 해상도가 만족스럽지 못할 경우에는 카메라의 배율을 확대함으로써 해상도를 높여야 한다. 그러나, 카메라의 배율을 확대하게 되면 운동장의 모양을 결정하는 사이드 라인이 화면 밖으로 밀려나게 되어 해상도를 결정하지 못하는 경우가 발생할 수 있다. 본 발명에서는 이러한 문제점을 해결하기 위해서 축구 경기가 진행되기 전에 해상도를 결정하는 배율을 지정하여 경기장을 촬영하고, 경기가 시작되기 전에 원하는 배율로 조절하는 방법을 사용한다. 그리고 사용자 인터페이스를 통해서 경기가 시작되기 전에 배율을 조절하여 촬영한 경기장 프레임을 검색하고 해상도를 결정하게 된다.If the resolution determined by the position and orientation angle of a given camera and the magnification used is not satisfactory, you should increase the resolution by enlarging the magnification of the camera. However, when the magnification of the camera is enlarged, the side line for determining the shape of the playground may be pushed out of the screen, and thus the resolution may not be determined. In order to solve this problem, the present invention uses a method of designating a magnification for determining a resolution before a soccer game is played, and adjusting a desired magnification before the game starts. Through the user interface, the game will adjust the scale before the game begins to search for the shooting stadium frame and determine the resolution.

도 13은 본 발명에 따른 사용자 인터페이스인 해상도 설정 제어판의 구성 방법의 일예를 나타낸 예시도이다.13 is an exemplary view showing an example of a configuration method of a resolution setting control panel which is a user interface according to the present invention.

도시된 바와 같이, 카메라 선택을 위한 콤보 박스(215a)를 통해서 원하는 카메라를 선택한다. 카메라가 선택이 되면 해당 카메라를 통해서 기록된 동영상이 프레임창(215b)에 도시된다. 프레임창의 밑에 있는 슬라이드바(215c)를 이용하여 원하는 위치로 이동할 수 있으며 재생 버튼(215d)을 사용하여 자동적으로 화면을 바꿀 수도 있다. 이때 정지 버튼(215)을 누르면 화면의 이동이 멈추게 된다. 정지된 시점으로부터 앞이나 뒤로 한 단계씩 이동하고 싶을 경우에는 포워드 버튼(215f)과 리버스 버튼(215g)을 사용한다. 이동 간격을 조절할 때에는 에디트 박스(215h)에 원하는 값을 입력하면 된다. 현재 도시되고 있는 프레임과 총 프레임의 수는 프레임창의 밑에 위치한 에디트 박스(215i)에 나타난다. 이러한 기능을 이용하여 선택된 카메라를 통해서 촬영된 해상도 설정용 영상 프레임을 검색한다. 원하는 화면이 검색이 되면 촬영에 사용된 확대 배율을 설정용 확대배율 버튼(215j)으로 입력하고, 카메라의 수평 방향의 화소수를 수평방향 화소수 버튼(215k)으로 입력하고, 수직 방향의 화소수를 수직방향 화소수 버튼(215m)으로 입력한다. 촬영된 영상에는 운동장의 윤곽선뿐만 아니라 여러 가지 물체들이 같이 존재하므로 경기장 윤곽선 추출 버튼(215n)을 눌러서 윤곽선만을 추출한다. 이때 윤곽선을 추출하는 방법으로는 에지 검출 알고리즘이라든가 아니면 일반적인 영상 처리 알고리즘 등을 사용할 수 있다. 경기장의 윤곽선이 추출되면 기준선 높이 버튼(215p)으로 기준선 높이를 설정한다. 기준선의 높이는 화소의 수로 주어진다. 마지막으로 해상도 설정 버튼(215q)을 누르게 되면 주어진 파라미터들을 이용하여 해상도를 구할 수 있게 된다. 해상도가 계산이 되면 그 결과가 3 개의 해상도 버튼(215t,215u,215v)의 에디트 박스 안에 출력된다.As shown, the desired camera is selected through the combo box 215a for camera selection. When a camera is selected, the video recorded through the camera is shown in the frame window 215b. The slide bar 215c at the bottom of the frame window can be used to move to a desired position, and the play button 215d can be used to automatically change the screen. At this time, if the stop button 215 is pressed, the movement of the screen is stopped. When the user wants to move forward or backward one step from the stopped point, the forward button 215f and the reverse button 215g are used. When adjusting the movement interval, the desired value may be input in the edit box 215h. The currently shown frame and the total number of frames appear in the edit box 215i located below the frame window. This function is used to search for image frames for resolution setting captured by the selected camera. When the desired screen is searched, the magnification used for shooting is input by the setting magnification button 215j, the number of pixels in the horizontal direction of the camera is input by the number of pixels in the horizontal direction, and the number of pixels in the vertical direction is input. Is input to the vertical pixel number button 215m. Since not only the contour of the playground but also various objects exist in the captured image, only the contour is extracted by pressing the stadium contour extraction button 215n. At this time, the method of extracting the contour may be an edge detection algorithm or a general image processing algorithm. When the outline of the stadium is extracted, the baseline height is set using the baseline height button 215p. The height of the baseline is given by the number of pixels. Finally, when the resolution setting button 215q is pressed, the resolution can be obtained using the given parameters. When the resolution is calculated, the result is output in the edit boxes of the three resolution buttons 215t, 215u, and 215v.

경기를 촬영하기 위해서 설정한 확대 배율을 경기용 확대배율 버튼(215r)으로 입력하고 해상도 설정 결과를 저장하기 버튼(215s)을 이용하여 저장하면 모든 절차가 종료된다. 이상과 같은 과정을 사용된 모든 카메라에 대해서 반복한다.Entering the enlargement magnification set for shooting a game to the competition magnification button 215r and saving the result of the resolution setting using the button 215s saves all procedures. The above procedure is repeated for all the cameras used.

해상도 설정 과정을 통해서 계산된 결과와 사용된 파라미터들은 도 14에 나타난 것과 같은 데이터 구조로 대용량 기억 장치에 저장된다.The results calculated through the resolution setting process and the parameters used are stored in the mass storage device in a data structure as shown in FIG.

도 14는 본 발명에 따른 해상도 설정 과정을 통해서 계산된 결과와 사용된 파라미터들이 저장되는 데이터 구조를 나타낸 예시도이다.14 is an exemplary diagram illustrating a data structure in which a result calculated through a resolution setting process and parameters used are stored according to the present invention.

도시된 바와 같이, 경기 ID 번호는 서로 다른 축구 경기를 구별하기 위해서 사용하는 것으로서 4 바이트 숫자로 정해진다. 서로 다른 프레임 그룹이 동일한 경기 ID 번호를 가지고 있으면 동일한 경기를 구성하는 프레임 그룹이라는 것을 의미한다.As shown, the game ID number is used to distinguish different soccer games and is set to a 4-byte number. If different frame groups have the same race ID number, it means that the frame groups constitute the same race.

운동장 좌표계가 화면 좌표계에 매핑되는 관계를 통해서 화면 좌표계의 수평 방향과 수직 방향의 해상도를 구할 수 있는 것과 마찬가지로, 화면 좌표계를 운동장 좌표계로 매핑함으로써 화면 좌표계 상의 임의의 점이 매핑되는 운동장 좌표계의 위치 좌표값을 알 수 있다.Just as the resolution of the horizontal and vertical direction of the screen coordinate system can be obtained through the relationship in which the playground coordinate system is mapped to the screen coordinate system, the position coordinate value of the playground coordinate system to which any point on the screen coordinate system is mapped by mapping the screen coordinate system to the playground coordinate system. It can be seen.

도 15는 본 발명에 따른 화면 좌표계를 운동장 좌표계로 투영한 것을 나타낸 예시도이다.15 is an exemplary view illustrating projecting the screen coordinate system according to the present invention into a playground coordinate system.

도시된 바와 같이, 도 12에 나타낸 것과 같이 화면 좌표계가 운동장 좌표계와 만나는 4 개의 점, E1, E2, C3, C4의 위치를 식 2를 이용하여 구할 수 있다. 이로부터 화면 좌표계의 원점이 운동장 좌표계에 매핑된 위치를 나타내는 O'(x1,y1)을 알 수 있다. 또한, x2의 값과 y2의 값을 알 수가 있으므로 화면 좌표계와 운동장 좌표계가 서로 이루는 회전각은 다음 식 3과 같이 주어진다.As shown in FIG. 12, the positions of four points, E 1 , E 2 , C 3 , and C 4 where the screen coordinate system meets the playground coordinate system may be obtained using Equation 2. From this, it can be seen that O '(x 1 , y 1 ) representing the position where the origin of the screen coordinate system is mapped to the playground coordinate system. Also, since the value of x 2 and y 2 can be known, the rotation angle between the screen coordinate system and the playground coordinate system Is given by Equation 3 below.

이어서, 화면 좌표계 상의 임의의 화소, S(p,q) 가 운동장 좌표계 상에 어떻게 매핑되는가를 설명한다.Next, how any pixel on the screen coordinate system, S (p, q), is mapped on the playground coordinate system will be described.

화면 좌표계의 원점으로부터 수평 방향으로 p, 수직 방향으로 q 떨어진 곳에 위치하는 화소는 화면 좌표계의 수직 방향과 수평 방향으로의 해상도를 이용하여 실제 거리를 알 수가 있다. 예를 들어서, p=10 이고 수평 방향으로의 해상도가 화소당 15 센티미터라고 한다면 실제로 150 센티미터만큼 떨어져 있다는 것을 뜻하게 된다. 화면 좌표계의 해상도는 이미 알고 있으므로 p 와 q 의 값이 주어지면 운동장 좌표계 상에서의 p' 과 q' 의 값을 알게 된다. 따라서 O' 과 S' 사이의 거리 L 은 다음 식 4와 같이 주어지게 된다.Pixels located at a distance in the horizontal direction and q in the vertical direction from the origin of the screen coordinate system can be obtained from the actual distance by using the resolution in the vertical direction and the horizontal direction of the screen coordinate system. For example, if p = 10 and the resolution in the horizontal direction is 15 centimeters per pixel, it means that it is actually 150 centimeters apart. Since the resolution of the screen coordinate system is already known, given the values of p and q, we know the values of p 'and q' on the playground coordinate system. Therefore, the distance L between O 'and S' is given by Equation 4.

화면 좌표계와 운동장 좌표계 사이의 회전각,를 알고 있으므로 α 와 β 의 값을 다음 식 5와 식 6을 이용하여 구할 수 있다.Rotation angle between the screen coordinate system and the playground coordinate system, Since the values of α and β can be obtained using Equations 5 and 6 below.

운동장 좌표계로 매핑된 화면 좌표계 상의 임의의 점 S(p,q)의 위치 좌표는다음과 같은 식 7과 식 8로 주어진다.The position coordinates of any point S (p, q) on the screen coordinate system mapped to the playground coordinate system are given by Equations 7 and 8 as follows.

위의 식들을 사용하면 화면 좌표계상의 임의의 화소에 대한 운동장 좌표계에서의 위치 좌표를 구할 수 있다. 즉, 운동장 좌표계의 원점으로부터의 거리를 구할 수 있게 된다. 확실히 영상 카메라에 잡힌 객체가 놓여져 있는, 혹은 서있는 위치를 화면 좌표계 상에서 알 수 있으면, 일대일 매핑 관계가 성립하는 운동장 좌표계 상의 위치 좌표값을 아는 것과 같다. 본 발명의 구성 요소인 패턴 인식 처리기의 주된 역할은 영상 카메라에 잡힌 객체를 화면 좌표계 상에서 인식한 후, 그 위치를 운동장 좌표계로 매핑하여 운동장 좌표계 상에서의 위치 좌표값으로 변환하는 것이다. 또한, 어떠한 객체의 위치 좌표값이라도 하나의 정지 영상만을 가지고도 구할 수 있다. 어떤 객체가 이동하는 궤적이라는 것은 각각의 정지 영상에서 계산된 위치 좌표값들을 연속적으로 이어 붙인 것과 같다.Using the above equations, we can find the position coordinates in the playground coordinate system for any pixel in the screen coordinate system. That is, the distance from the origin of the playground coordinate system can be obtained. Clearly, knowing the position at which the object captured by the video camera is placed or standing on the screen coordinate system is the same as knowing the position coordinate value on the playground coordinate system where a one-to-one mapping relationship is established. A main role of the pattern recognition processor, which is a component of the present invention, is to recognize an object captured by an image camera on a screen coordinate system, and then map the position to a playground coordinate system to convert the position to a position coordinate value on the playground coordinate system. In addition, the position coordinate value of any object can be obtained with only one still image. The trajectory of the movement of an object is like the sequence of position coordinates calculated in each still image.

패턴 인식 처리기에서 객체를 인식하는 방법으로는 일반적으로 널리 알려져 있는 영상 처리 알고리즘들을 사용할 수 있으며 그 중에서 형태학적 패턴 인식 알고리즘을 사용할 수도 있다. 형태학적 패턴 인식 알고리즘이라는 것은 어떤 물체의 형태학적인 특징을 기반으로 하여 인식하는 방법으로서 주어진 영상 프레임내에서 사람을 인식하고 싶으면 사람의 형태학적인 특징들을 파라미터로서 이용하는 것이다. 즉 사람의 모습은 머리와 몸통, 팔, 그리고 다리로 구분할 수 있으며 이러한 정보들을 이용하여 주어진 영상 프레임내에서 사람의 특징을 갖는 물체를 찾게 된다. 만약에 공을 인식하고 싶다면 둥그런 원모양을 특징으로 사용하면 된다.As a method of recognizing an object in a pattern recognition processor, image processing algorithms which are generally known may be used, and among them, a morphological pattern recognition algorithm may be used. Morphological pattern recognition algorithm is a method of recognition based on the morphological features of an object. If a person wants to recognize a person within a given image frame, he uses the morphological features of the person as parameters. In other words, a person's figure can be classified into head, torso, arms, and legs, and using this information, an object with human characteristics is found within a given image frame. If you want to recognize the ball, you can use the round circle feature.

주어진 화면 좌표계 내에서 사람이 인식이 되면 다음으로 사람이 서있는 위치를 결정하게 된다. 사람이 서있는 위치라는 것은 바로 발이 놓여져 있는 위치를 뜻한다. 왜냐하면 서있는 사람이 지면과 닿는 부분이 다리가 되기 때문이다. 형태학적인 패턴 인식 알고리즘을 사용하게 되면 사람의 몸통 부분과 다리 부분을 인식할 수 있으므로 다리가 지면과 접하는 위치를 추정하는 것이 가능하다. 인식된 사람의 다리가 놓여져 있는 위치가 주어진 사람의 화면 좌표계 상에서의 위치가 되며, 따라서 운동장 좌표계에서의 위치 좌표값이 결정되게 된다.When a person is recognized within a given screen coordinate system, the next position where the person stands is determined. The standing position of a person means the position where the foot is placed. This is because the part where the standing person touches the ground becomes a bridge. Using the morphological pattern recognition algorithm, it is possible to estimate the body's torso and leg parts, so that it is possible to estimate where the legs are in contact with the ground. The position where the recognized person's leg is placed becomes the position on the screen coordinate system of the given person, and thus the position coordinate value in the playground coordinate system is determined.

도 16은 화면 좌표계 상에서 인식된 사람과 추정된 위치 좌표를 나타낸 예시도이다.16 illustrates an example of a recognized person and estimated location coordinates on a screen coordinate system.

도시된 바와 같이, 패턴 인식 알고리즘을 통해서 사람이 인식이 되면 자동적으로 사람의 머리와 몸통 부분에 점선으로 원(212a)이 그려진다. 이러한 원은 원래의 영상 위에 오버레이 형태로 도시되며 영상 프레임 안에 써지는 것은 아니다. 몸통 부분에 그려지는 원과 함께 사람이 서있는 위치가 결정되면 마찬가지로 그래픽으로 표시된다. 화면 좌표계 상에서 위치(212b)가 결정되면 운동장 좌표계로 매핑되어 실제 위치 좌표값이 계산된다. 인식된 사람과 관련된 정보(212c)는 대각선 방향으로 약간 위쪽에 도시되는데 여기에는 해당 사람에게 부여된 고유한 ID 번호, 이름, 그리고 운동장 좌표계에서의 위치 좌표값 등이 표시된다. 사람이 이동하게 되면 그 위에 그려진 그래픽 정보들도 따라서 이동한다. 사람이 운동장 위에 누워있는 경우의 사람의 위치 좌표값은 마찬가지로 다리 부분에 있다고 가정한다. 사람이 이동하는 경우에는 다리 모양이 변하게 되는데 이는 주어진 사람의 위치 좌표를 결정하는데 영향을 주게 된다. 이러한 영향은 형태학적 패턴 인식 알고리즘에 적용되어야 하며 경우에 따라서 위치 좌표값에 오차를 만들 수 있다.As shown, when a person is recognized through a pattern recognition algorithm, a circle 212a is automatically drawn in dotted lines on the head and torso of the person. These circles are shown in the form of overlays on the original image and are not written in the image frame. With the circle drawn on the body, the position of the person standing is determined graphically as well. When the position 212b is determined on the screen coordinate system, the actual position coordinate value is calculated by mapping to the playground coordinate system. The information 212c related to the recognized person is shown slightly upwards in a diagonal direction, where the unique ID number, name, and location coordinates in the playground coordinate system are displayed. When a person moves, the graphic information drawn on it moves along with it. If a person is lying on the playground, the position coordinates of the person are similarly assumed to be in the leg portion. When a person moves, the shape of the legs changes, which affects the location coordinates of a given person. This influence should be applied to the morphological pattern recognition algorithm, and in some cases, an error can be made in the position coordinate value.

주어진 카메라에 대해서 해상도 결정 과정이 완료되면 처리해야 할 프레임 그룹에 속한 첫번째 영상 프레임을 대용량 기억 장치로부터 읽어 들여서 위에서 설명한 패턴 인식 알고리즘을 적용한다. 주어진 영상 프레임 내에서 모든 객체들이 인식이 되면 도 17에 주어진 것과 같은 사용자 인터페이스를 이용하여 인식된 개체마다 고유한 ID 번호를 부여하게 된다.When the resolution determination process is completed for a given camera, the first image frame belonging to the frame group to be processed is read from the mass storage device and the pattern recognition algorithm described above is applied. When all objects are recognized within a given image frame, a unique ID number is assigned to each recognized object using a user interface as shown in FIG. 17.

도 17a는 본 발명에 따른 사용자 인터페이스인 패턴인식 처리기 제어판의 구성 방법의 일예를 나타낸 예시도이고, 도 17b와 도 17c는 상기 도 17a에서 개체 연결시의 변화를 나타낸 예시도이다.17A is an exemplary view illustrating an example of a method of configuring a pattern recognition processor control panel which is a user interface according to the present invention, and FIGS. 17B and 17C are exemplary views illustrating a change when connecting an object in FIG. 17A.

도 17a에 도시된 바와 같이, 카메라 선택버튼(212d)을 이용하여 사용된 카메라 중에서 하나를 선택하고 프레임그룹 선택버튼(212e)을 이용하여 처리하고자 하는 프레임 그룹을 선택한다. 선택된 프레임 그룹의 첫번째 프레임을 가져 오기 위해서 처음으로 가기버튼(212f)을 누른다. 첫번째 프레임이 프레임 창에 도시되면 패턴인식 처리(현재프레임)버튼(212g)을 누른다. 그러면 첫번째 프레임에서 인식된 개체에 대한 정보가 프레임 창과 개체 리스트에 나타난다.As shown in FIG. 17A, one of the cameras is selected using the camera selection button 212d and a frame group to be processed using the frame group selection button 212e. Press the Go First button 212f to get the first frame of the selected frame group. When the first frame is shown in the frame window, the pattern recognition processing (current frame) button 212g is pressed. Information about the object recognized in the first frame is then displayed in the frame window and the object list.

주어진 프레임 그룹의 첫번째 프레임에서 인식된 개체들은 아직 ID 번호가 부여되지 않은 상태이므로 앞에 'X' 라는 글자로 시작하는 임시 ID 번호가 자동적으로 부여 된다. 예를 들어서, '홍길남'이라는 사람이 개체 'X3' 에 해당한다고 하면 '홍길남'에 대한 개체 ID 콤보박스(212h)를 통해서 'X3' 를 선택한다.Objects recognized in the first frame of a given frame group have not been assigned an ID number yet, so they are automatically assigned a temporary ID number beginning with the letter 'X'. For example, if a person named 'Hong Gil Nam' corresponds to an object 'X3', 'X3' is selected through the entity ID combo box 212h for 'Hong Gil Nam'.

이어서, 17b에 도시된 바와 같이, '홍길남'이 개체 'X3' 와 연결이 되면 프레임 창에 도시된 개체 'X3'(212i)에 '홍길남'의 ID 번호와 이름이 표시된다. 그리고 '홍길남'의 위치 좌표값(212j)에 'X3'의 위치 좌표값이 표시된다.Subsequently, as shown in 17b, when 'Hong Gil-Nam' is connected to the object 'X3', the ID number and name of 'Hong Gil-Nam' are displayed on the object 'X3' 212i shown in the frame window. The position coordinate value of 'X3' is displayed on the position coordinate value 212j of 'Hong Gil Nam'.

마찬가지로 '홍길동'과 '홍길서'에 대해서 같은 방식으로 개체를 연결시킬 수 있다. 주어진 카메라에 속한 프레임 그룹의 첫번째 프레임에 대해서 이상과 같은 연결이 끝나게 되면 사용된 모든 카메라에 속하는 프레임 그룹에 대해서도 똑같이 반복한다. 만약에 카메라 A 와 카메라 B 의 촬영 영역이 약간 겹치게 되고 겹친 영역에 '홍길남'이 위치한다면 '홍길남'은 카메라 A 와 카메라 B 의 첫번째 프레임에 모두 보이게 될 것이다. 그렇게 되면 '홍길남'의 위치 좌표값은 카메라 A 에서 계산된 위치 좌표값과 카메라 B 에서 계산된 위치 좌표값을 가지고 결정을 하게 된다. 만약에 두 개의 카메라에서 계산된 위치 좌표값의 평균을 '홍길남'의 위치 좌표값으로 사용하게 된다면 그 결과는 도 17c와 같이 주어지게 된다.Likewise, you can link objects in the same way for Hong Gil-dong and Hong Gil-seo. When the above connection is terminated for the first frame of a frame group belonging to a given camera, the same is repeated for the frame group belonging to all used cameras. If the shooting areas of Camera A and Camera B overlap slightly and 'Hong Gil-Nam' is located in the overlapped area, 'Hong Gil-Nam' will be visible on both the first frame of Camera A and Camera B. Then, the position coordinate value of 'Hong Gil Nam' is determined based on the position coordinate value calculated by the camera A and the position coordinate value calculated by the camera B. If the average of the position coordinate values calculated by the two cameras is used as the position coordinate value of 'Hong Gil Nam', the result is given as shown in FIG. 17C.

도 17c에 도시된 바와 같이, 카메라 A에서 잡은 프레임으로 계산한 '홍길남'의 위치 좌표값은 (+26,-16)로 주어지고, 카메라 B 에서 잡은 위치 좌표값은 (+28,-14)이다. 따라서, '홍길남'의 최종 위치 좌표값은 두 좌표값의 평균인 (+27,-15)로 주어진다. 위치 좌표값이 결정되지 않았을 경우에는 'ZZZ/ZZZ' 라고 표시된다. 전체 프레임 그룹의 첫번째 프레임에 나타나는 모든 개체들에 대한 ID 번호 연결이 끝나게 되면 패턴인식 처리(연속)버튼(212k)을 누른다. 그러면 다음 프레임을 읽어서 패턴 인식 처리 절차를 자동적으로 연속해서 수행하게 된다. 패턴인식 처리 절차가 성공적으로 완료되면 다음 프레임 그룹으로 넘어간다. 모든 프레임 그룹에 대해서 위치 좌표값의 계산이 끝나게 되면 패턴 인식 처리 절차가 끝나게 된다.As shown in FIG. 17C, the position coordinate value of 'Hong Gil Nam' calculated by the frame captured by the camera A is given by (+ 26, -16), and the position coordinate value captured by the camera B is (+ 28, -14). to be. Therefore, the final position coordinate value of 'Hong Gil Nam' is given as (+ 27, -15) which is the average of two coordinate values. If the position coordinate value is not determined, 'ZZZ / ZZZ' is displayed. When the ID numbers for all the objects appearing in the first frame of the entire frame group are finished, the pattern recognition processing (continuous) button 212k is pressed. Then, the next frame is read and the pattern recognition process is automatically and continuously performed. If the pattern recognition process is completed successfully, it moves to the next frame group. When the calculation of the position coordinate value is finished for all frame groups, the pattern recognition process is finished.

연속적인 패턴 인식 처리가 진행되다가 어떤 에러가 발생하게 되면 에러가 발생한 프레임에서 패턴 인식 처리가 중단되고 사용자의 처리를 기다리게 된다. 연속적인 패턴 인식 처리 과정에서 발생하는 오류는 주어진 개체의 위치 좌표값이 하나도 결정되지 않는 경우에 나타나게 된다. 즉, 어떠한 카메라도 주어진 개체를 인식하지 못하는 경우에 해당한다. 이처럼 오류가 발생하게 되면 에러 프레임 에디트 박스(212m)에 오류가 발생한 프레임 번호가 표시되고 프레임 창에 해당 프레임이 도시된다. 사용자는 에러가 발생한 프레임을 검토하여 개체가 왜 인식되지 못하였는가를 조사한다. 패턴 인식 처리기가 어떠한 개체를 인식하지 못하게 되는 경우는 크게 프레임내에 개체가 있는데도 불구하고 인식을 못하는 경우와 개체가 어떠한 프레임에서도 발견되지 않는 경우이다.If any error occurs while the continuous pattern recognition process is in progress, the pattern recognition process stops at the frame where the error occurs and waits for the user's processing. An error that occurs during the successive pattern recognition process occurs when no position coordinate value of a given object is determined. In other words, no camera can recognize a given object. When an error occurs as such, the frame number in which the error occurs is displayed in the error frame edit box 212m, and the frame is shown in the frame window. The user examines the frame in which the error occurred and investigates why the object was not recognized. The case where the pattern recognition processor does not recognize any object is largely a case where the object is not recognized even though there is an object in the frame and the object is not found in any frame.

개체가 프레임내에 있는데 인식을 못하는 경우에는 패턴인식 처리(현재프레임)버튼(212g)을 눌러서 다시 한번 시도하게 된다. 개체가 인식이 되면 개체의 ID 번호를 연결한 뒤에 패턴인식 처리(연속)버튼(212k)을 눌러서 계속 진행하게 된다.If the object is in the frame but is not recognized, the pattern recognition (current frame) button 212g is pressed again to try again. After the object is recognized, the ID number of the object is connected and the pattern recognition processing (continuous) button 212k is pressed to continue.

만약, 상기 패턴인식 처리(현재프레임)버튼(212g)으로도 개체의 인식에 실패하게 되면 에러보정 버튼(212n)을 누른다. 그러면 프레임창에 커서가 나타나고 커서를 인식하고자 하는 개체의 위로 가져가서 클릭하게 되면 선택된 지점을 중심으로 일정한 영역안에서 개체를 찾아내게 된다. 개체의 인식이 이루어지게 되면 ID번호를 연결한 뒤에 상기 패턴인식 처리(연속)버튼(212k)을 눌러서 계속 진행하게 된다.If the object recognition fails even with the pattern recognition processing (current frame) button 212g, the error correction button 212n is pressed. A cursor appears in the frame window, and when you move the cursor over the object you want to recognize and click, it finds the object in a certain area around the selected point. When the object is recognized, the ID number is connected and then the pattern recognition processing (continuous) button 212k is pressed to continue.

다음으로 개체가 어느 프레임에서도 발견되지 않는 경우에는 카메라의 촬영 영역의 밖으로 개체가 벗어났다는 것을 의미한다. 촬영 영역을 개체가 벗어나게 되면 자동적으로 마지막으로 계산되었던 위치 좌표값이 그대로 반복되어 사용된다.Next, if the object is not found in any frame, it means that the object is out of the camera's shooting area. When the object leaves the shooting area, the position coordinate value calculated last is automatically used as it is.

촬영 영역을 벗어났던 개체가 다시 촬영 영역 안으로 들어오게 되면 이전에 없었던 새로운 개체로서 인식되게 되므로 이 때에는 위에서 설명한 에러 보정 절차를 수행하게 된다. 촬영 영역 안으로 다시 진입한 개체에 대한 에러 보정이 끝나게 되면 연속적으로 패턴 인식 처리 절차가 다시 시작된다.When an object that has left the shooting area enters the shooting area again, it is recognized as a new object that has not existed before, and thus the error correction procedure described above is performed. When the error correction for the object which reenters the shooting area is completed, the pattern recognition processing procedure is continuously resumed.

패턴 인식 알고리즘의 인식률이 떨어지게 되면 에러 보정을 자주 하게 되므로 이것은 패턴 인식 처리기의 효율을 떨어뜨리게 된다. 패턴 인식 알고리즘은 어떤 개체를 주위로부터 분리해서 인식하는 방법이라고 볼 수 있기 때문에 인식률을 증가시키는 방법으로서 선수들이 입는 유니폼의 색깔을 조절하는 것이 있다. 영화에서 흔히 사용하는 블루 스크린 방법과 같이 선수들이 입는 유니폼의 색깔을 파란색으로 통일시킨 뒤, 영상 처리 과정에서 파란색을 필터링하게 되면 영상 프레임에서 선수들의 유니폼이 있는 부분만 잘라낼 수가 있다. 유니폼이 있는 부분이 잘려져 나가게 되면 잘려 나가기 전에 비해서 구별하기가 훨씬 더 용이해지며 이 상태에서 개체를 인식하게 되면 인식률을 향상시키는 것이 가능하다. 유니폼의 색깔을 통일한 뒤, 부분적으로 무늬를 다르게 하면 상대방 팀과 자기 팀을 구별할 수 있도록 할 수 있다.When the recognition rate of the pattern recognition algorithm drops, error correction is frequently performed, which reduces the efficiency of the pattern recognition processor. Pattern recognition algorithms can be seen as a way of recognizing an object separately from its surroundings, so as a way to increase the recognition rate, it is to adjust the color of the uniform worn by the players. If the uniform of the uniforms worn by the players is uniformed to blue, and the blue is filtered during the image processing, like the blue screen method commonly used in the movie, only the uniform part of the players can be cut out of the image frame. If the part of the uniform is cut off, it will be much easier to distinguish than before it is cut out, and if the object is recognized in this state, it is possible to improve the recognition rate. Uniform uniform colors, then partly different patterns can be distinguished from the other team.

어떤 개체가 주어진 카메라의 촬영 영역을 벗어나서 인접한 카메라의 촬영 영역으로 진입을 할 경우, 해당 개체가 이전 카메라의 촬영 영역을 벗어났다는 정보를 인접한 카메라가 알 수 있게 되면 개체가 촬영 영역을 벗어날 때마다 사용자가 에러 보정을 하게 되는 것을 방지할 수 있다.When an object leaves the shooting area of a given camera and enters the shooting area of an adjacent camera, whenever an adjacent camera knows that the object is out of the shooting area of the previous camera, it will It is possible to prevent the user from performing error correction.

도 18은 본 발명에 따른 인접한 촬영 영역으로 이동하는 개체를 자동적으로 인식하도록 하여주는 카메라 핸드오프 과정을 나타내는 도면이다.18 is a diagram illustrating a camera handoff process for automatically recognizing an object moving to an adjacent photographing area according to the present invention.

도시된 바와 같이, 어떤 개체(30a)가 카메라 A 의 촬영 영역에서 카메라 B 의 촬영 영역으로 넘어간다고 했을 때, 크게 세가지 단계를 거치게 된다.As shown, when an object 30a is transferred from the photographing area of camera A to the photographing area of camera B, three steps are performed.

단계 I 에서는 해당 개체가 아직 카메라 B 의 촬영 영역에 나타나지 않고 있다. 단계 II 가 되면 개체가 카메라 A 와 카메라 B 의 촬영 영역에 동시에 나타나게 된다. 즉, 카메라 B 가 새로이 진입한 개체를 인식하는 단계에 해당한다. 새로운 개체가 인식이 되게 되면 그것이 어디에서 넘어온 것인지를 알아내기 위해서 카메라 B 는 주위의 카메라에 속한 개체들을 검색하게 된다. 이때 사용되는 파라미터는 인식된 개체의 위치 좌표값이 된다. 즉, 주위에 있는 카메라 촬영 영역에 속한 개체들을 차례로 검색하여 위치 좌표값의 차이를 조사하는 것이다. 이때, 가장 근접한 위치 좌표값을 갖는 개체가 발견되면 그 개체가 바로 이동중인 개체로 결정된다. 즉, 가장 근접한 위치 좌표값을 나타내는 개체는 다음 식 9에 의해서 결정된다.In step I, the object has not yet appeared in the camera B's shooting area. In stage II, the object appears simultaneously in the camera A and camera B shooting areas. That is, the camera B corresponds to the step of recognizing the newly entered object. When a new object is recognized, Camera B searches for objects belonging to nearby cameras to find out where it came from. The parameter used at this time is the position coordinate value of the recognized object. In other words, by searching for the objects belonging to the surrounding camera shooting area in order to investigate the difference in the position coordinate value. At this time, if the object having the closest position coordinate value is found, the object is determined as the moving object. That is, the entity representing the nearest position coordinate value is determined by the following equation (9).

여기서, (x0,y0)는 카메라 B 에 의해서 새로이 인식된 개체의 위치 좌표값이고, J는 주위의 카메라 촬영 영역에 속한 개체들의 수를 나타낸다. 즉, 새로이 인식된 개체는 위치 좌표값의 차이가 가장 적은 개체가 갖고 있는 ID 정보를 그대로 똑같이 갖게 된다. 카메라 B 가 새로이 인식된 개체에 ID 번호를 자동적으로 연결하게 되면 그 개체를 갖고 있는 인접한 카메라들에게 그 사실을 알려 준다. 그러면 해당 개체가 자신의 촬영 영역을 벗어날 때, 그것이 인접한 카메라의 촬영 영역으로 넘어간 것이지 아니면, 전체 촬영 영역의 밖으로 완전히 벗어난 것인지를 검출할 수 있다. 즉, 자신의 촬영 영역을 벗어난 개체를 아무런 카메라도 인식하지 않았다면 그 개체는 촬영 영역을 완전히 벗어난 것이 된다. 이상과 같은 과정을 카메라 핸드오프라고 정의한다. 카메라 핸드오프 절차를 사용하게 되면 전체 운동장을 여러 개의 작은 촬영 영역으로 나눈다고 하더라도 한번 인식된 개체를 중단없이 연속적으로 추적하는 것이 가능하다.Here, (x 0 , y 0 ) is the position coordinate value of the object newly recognized by the camera B, and J represents the number of objects belonging to the surrounding camera photographing area. That is, the newly recognized entity has the same ID information as the entity having the smallest difference in position coordinate values. When Camera B automatically associates an ID number with a newly recognized object, it informs adjacent cameras that have that object. Then, when the object leaves its own shooting area, it can be detected whether it has moved to the shooting area of the adjacent camera or completely outside the entire shooting area. That is, if no camera recognizes an object that is outside its own shooting area, the object is completely out of the shooting area. The above process is defined as camera handoff. Using the camera handoff procedure, it is possible to continuously track an object once it has been recognized, even if the whole playground is divided into several smaller shot areas.

축구 경기의 기록에 사용된 모든 카메라에 속한 모든 프레임 그룹에 대해서 위치 좌표값이 결정되면 그 결과가 도 19에 나타난 데이터 구조의 형태로 대용량 기억 장치에 저장된다.When the position coordinate values are determined for all frame groups belonging to all cameras used for recording the football game, the result is stored in the mass storage device in the form of the data structure shown in FIG.

도 19는 본 발명에 따른 위치 좌표값이 결정된 모드 프레임 그룹의 결과가 저장되는 데이터 구조의 형태를 나타내는 예시도이다.19 is an exemplary diagram illustrating a form of a data structure in which a result of a mode frame group in which a position coordinate value is determined according to the present invention is stored.

도시된 바와 같이, 경기가 진행되는 동안에 인식되는 모든 개체는 좌표 레코드 안에 계산된 위치 좌표값들과 카메라 ID 번호를 저장한다. 좌표 레코드의 바이트 길이는 'LEN[m]' 필드에 기록되며 나머지 정보들이 나타나는 순서는 도 19에 주어진 것과 같다. (X[0],Y[0])가 주어진 프레임에서 개체의 위치 좌표값이 되며, 이 값들은 해당 개체를 인식한 카메라들을 통해서 계산된 위치 좌표값 (X[n],Y[n])들로부터 구해진다(여기서, n=1,,N). 확실히 도 19에 주어진 데이터 구조는 도 17c에 표시된 것과 같은 정보들을 저장하기 위한 것이며 인식된 개체의 수만큼 만들어진다.As shown, all entities recognized during the race store the calculated position coordinate values and camera ID numbers in the coordinate record. The byte length of the coordinate record is recorded in the 'LEN [m]' field and the order in which the remaining information appears is as given in FIG. (X [0], Y [0]) is the position coordinate value of the object in the given frame, and these values are the position coordinate values (X [n], Y [n]) calculated by the cameras that recognize the object. It is obtained from these (where n = 1,, N). Certainly the data structure given in FIG. 19 is for storing information as shown in FIG. 17C and is made up by the number of recognized entities.

영상 카메라를 통해서 기록된 영상 프레임을 가지고 개체를 인식하여 그 위치 좌표값을 결정하는 과정이 끝나게 되면 계산된 위치 좌표값들의 변화, 즉 궤적을 조사하여 에러를 보정하는 작업을 하게 된다. 이때 보정하게 되는 에러들은 크게 세가지로 나누어진다.When the process of determining the position coordinate value by recognizing the object using the image frame recorded through the image camera is completed, the error correction is performed by examining the change of the calculated position coordinate values, that is, the trajectory. At this time, the errors to be corrected are largely divided into three types.

첫째, 영상 카메라가 운동장의 표면과 사각을 이루는 경우 어떤 선수가 서 있는 자리에서 점프를 하게 되면 이것이 위치 좌표의 이동으로 나타날 수가 있다.First, if the video camera is square with the surface of the playground, if a player jumps from the standing position, this may be indicated by the movement of the position coordinate.

즉, 패턴 인식 알고리즘은 다리가 위치해 있는 지점을 기준으로 삼아서 그 위치를 추정하는 것이기 때문에 어떤 선수가 점프를 하게 되면 이를 인식할 수 있는 방법이 없다. 따라서, 이러한 에러는 패턴 인식 알고리즘이 진행되는 동안에 보정하지 않고 끝난 상태에서 바로잡게 된다. 카메라가 운동장의 천정에 설치되는 경우에는 이러한 문제가 발생하지 않는다. 왜냐하면 카메라가 바라보는 방향이 사람의 몸과 서로 평행을 이루기 때문이다.That is, since the pattern recognition algorithm estimates the position based on the point where the bridge is located, there is no way to recognize when a player jumps. Therefore, this error is corrected at the end without correcting during the pattern recognition algorithm. This problem does not occur when the camera is installed on the ceiling of the playground. This is because the direction the camera looks parallel to the human body.

둘째, 두 개의 개체가 서로 붙었다가 떨어질 경우 그 궤적이 서로 뒤바뀌는 크로스 오버가 발생할 수 있다. 두 명의 선수가 아주 근접한 거리에서 몸 싸움을벌이게 되면 패턴 인식 알고리즘이 두개의 개체를 구별하는데 혼동을 일으킬 수가 있다. 이 상태에서 두 개체가 서로 떨어지게 되면 위치 좌표값과 연결되어 있는 ID 번호를 서로 뒤바꾸어 버리는 문제가 발생할 수 있다.Second, if two objects stick together and fall off, a crossover may occur where the trajectory is reversed. If two athletes are fighting in close proximity, the pattern recognition algorithm can confuse the two individuals. In this state, when two objects are separated from each other, there may be a problem of inverting ID numbers connected with position coordinate values.

셋째, 개체가 서있을 때와 뛰어 가고 있을 경우에는 선수의 몸통 부분과 지면 사이의 거리가 달라지게 된다. 따라서 패턴 인식 알고리즘이 선수가 서 있을 때와 뛰어 다닐 때 계산하는 위치 좌표값들을 하나의 연속된 궤적으로 보았을 때, 지그재그 모양의 변화가 발견될 수 있다. 이러한 문제는 위치 좌표값의 오차 허용 범위내에서 그래픽 처리 알고리즘의 하나인 커브 피팅 방법을 이용하여 부드럽게 만들게 된다.Third, the distance between the athlete's torso and the ground will vary when the object is standing and running. Therefore, when looking at the position coordinate values calculated by the pattern recognition algorithm when the player is standing and running around as a single trajectory, a change in the zigzag shape can be found. This problem is smoothed by using the curve fitting method, which is one of the graphic processing algorithms within the tolerance of the position coordinate value.

도 20은 본 발명에 따른 사람이 서 있는 위치에서 점프를 하였을 때 나타나는 궤적의 변화를 나타낸 도면이다.20 is a view showing a change in the trajectory that appears when a person jumps in a standing position according to the present invention.

도시된 바와 같이, 영상 카메라는 운동장을 사각으로 바라보고 있기 때문에 다리 부분을 기준으로 위치를 계산하게 되면 실제의 위치보다 Δj 만큼 차이가 나게 된다. 점프를 했던 사람이 다시 지면에 닿게 되면 점프를 하기 전과 비슷한 위치에 떨어지게 될 것이다. 점프를 하기 전의 위치와 점프를 한 뒤에 다시 지면에 떨어진 위치 사이의 거리를 Δd 라고 하면 그 크기에 따라서 사람의 이동이 어떻게 이루어졌는가를 알수 있다. 즉, 서있던 자리에서 점프만 한 경우라면 Δd → 0 에 가까운 값을 갖게 되며 뛰어 가면서 점프를 한 것이라면 Δd > 0 이 될 것이다. 따라서, 계산이 끝난 위치 좌표값들의 궤적을 조사해보면 주어진 개체가 점프를 했는지 아닌지를 간접적으로 판단하는 것이 가능하며 이를 보정하는 것도 가능하다. 즉Δj 를 0 으로 만들면 된다.As shown in the figure, since the image camera is looking at the playground in a square, when the position is calculated based on the leg portion, the difference is Δj from the actual position. If the person who made the jump touches the ground again, it will fall to the same position as before the jump. Δd is the distance between the position before the jump and the position after the jump and falls back to the ground, and you can see how the movement of the person depends on its size. In other words, if you jumped from the standing position, it will be close to Δd → 0. If you jumped while running, Δd> 0. Therefore, by examining the trajectories of the calculated position coordinate values, it is possible to indirectly determine whether or not a given object has jumped and correct them. That is, make Δj zero.

도 21은 본 발명에 따른 두 개체 간의 크로스 오버가 발생하는 경우를 나타낸 도면이다.21 is a diagram illustrating a case where crossover between two entities occurs according to the present invention.

도시된 바와 같이, 'X1' 이라는 ID 번호를 가진 개체와 'X2' 라는 ID 번호를 가진 개체가 이동하면서 서로 크로스 오버할 때, 두 개체 사이의 ID 번호가 바뀌는 현상이 나타날 수가 있다. 그러나, 패턴 인식 알고리즘의 한계로 인하여 이를 검출할 수 있는 수단을 강구하기가 아주 어렵다. 왜냐하면 두개의 서로 다른 개체가 서로 겹쳐져서 보이기 때문이다. 이와 같이, 크로스 오버 현상이 나타나게 되면 위치 계산이 모두 끝난 상태에서 크로스 오버가 일어나는 곳을 조사하여 하나씩 교정하는 방법을 사용한다. 즉, 두 개체의 궤적이 서로 십자 모양으로 교차하는 곳이 조사의 대상이 된다. 이러한 크로스 오버 현상이 일어나는 것을 방지하는 방법으로는 같은 촬영 영역에 다수의 영상 카메라를 배치하는 것이 있다. 즉, 동일항 촬영 영역을 서로 다른 각도에서 바라보도록 카메라를 배치하게 되면 한쪽 카메라에서 두개의 개체가 겹쳐지더라도 다른 방향의 카메라에서는 이를 구별할 수 있는 확률이 높아지게 된다.As shown, when an object having an ID number of 'X1' and an object having an ID number of 'X2' cross over each other while moving, a phenomenon may occur in which an ID number between two objects is changed. However, due to the limitations of the pattern recognition algorithm, it is very difficult to find a means to detect it. This is because two different objects overlap each other. As such, when a crossover phenomenon occurs, a method of correcting one by one by investigating where crossover occurs after all position calculation is completed is used. In other words, where the trajectories of the two objects cross each other in a cross shape is the subject of the investigation. As a method of preventing such a crossover phenomenon, a plurality of video cameras may be arranged in the same photographing area. In other words, when the cameras are arranged to look at the same shooting region from different angles, even if two objects overlap in one camera, the camera in the other direction increases the probability of distinguishing them.

도 22는 지그재그 모양으로 나타나는 궤적을 커브 피팅 방법으로 부드럽게 바꾸는 것을 예시한 도면이다.FIG. 22 is a diagram illustrating smoothly changing a trajectory in a zigzag shape by a curve fitting method.

도시된 바와 같이, 지그재그 모양으로 주어지는 원래의 궤적이 부드러운 형태의 새로운 궤적으로 바뀌게 된다. 그러나, 부분적으로 원래의 궤적에서 멀리 떨어지게 되는 경우도 발생할 수 있으며, 이는 적용하는 커브 피팅 방법에 따라서 달라지게 된다. 커브 피팅 방법으로는 일반적으로 그래픽 처리 알고리즘에서 사용하는 방법들을 선택한다.As shown, the original trajectory, given in a zigzag pattern, is replaced with a new trajectory in a soft form. However, it may also occur in part to be far from the original trajectory, depending on the curve fitting method applied. The curve fitting method generally selects the methods used in the graphic processing algorithm.

도 23은 상기 도 20 내지 도 22에서의 에러들을 처리하는 사용자 인터페이스의 일예를 나타내는 도면이다.FIG. 23 is a diagram illustrating an example of a user interface that processes errors in FIGS. 20 to 22.

도시된 바와 같이, 프레임그룹 선택 콤보박스는 에러를 보정하고자 하는 프레임 그룹을 선택하기 위해서 사용된다. 세그멘트 길이 설정박스는 제어판의 왼쪽에 표시되는 운동장 모양의 프레임 창위에 개체의 이동을 나타내는 궤적을 잘게 잘라낸 단편으로 표시하기 위해서 사용된다. 프레임의 발생 속도가 초당 32개라면 세그멘트의 길이를 64로 했을 때, 이는 2초 동안의 이동 궤적이 표시된다는 것을 의미한다.As shown, the frame group selection combo box is used to select a frame group whose error is to be corrected. The segment length setting box is used to mark the trace of the object as a chopped fragment on the playground-shaped frame window on the left side of the control panel. If the frame rate is 32 frames per second, and the segment length is 64, this means that the movement trajectory for 2 seconds is displayed.

오류 모드 선택은 선택한 프레임 그룹에서 보정하고자 하는 에러의 종류를 설정하는 것이다. 에러의 종류는 위에서 설명한 세가지이며 개별적으로 선택할 수도 있고 전체를 모두 선택할 수도 있다. 그러나, 보통 커브 피팅은 항상 선택하는 것이 바람직하며, 커브 피팅이 선택이 되면 다른 종류의 에러를 보정하기 전에 먼저 적용된다. 즉, 커브 피팅이 끝난 상태에서 다른 에러가 보정된다. 동작 모드 선택은 크게 두가지가 있는데, 하나는 모든 에러 보정 과정을 자동적으로 처리하는 것이고, 다른 하나는 에러가 검출되었을 때마다 사용자가 처리하는 방법이다. 사용자 선택 모드로 동작할 때, 에러가 검출되면 사용자는 보정하기 버튼을 사용하여 에러를 보정한다. 교정이 끝난 뒤, 세그멘트간의 이동은 다음 버튼과 이전 버튼을 사용하여 이루어진다. 도 23에서는 세가지 형태의 에러가 어떻게 나타나게 되는가를 보여주고 있으며 두 개체의 궤적 세그멘트가 서로 교차한다고 하더라도 주어진 시간에 둘 사이의 거리가 멀리 떨어져 있는 경우에는 크로스 오버가 성립하지 않는다. 크로스 오버가 발생하여 교정이 되면 서로 뒤바뀐 ID 번호가 원래대로 되돌려지게 된다. 이상과 같은 에러 보정 과정이 완료되면 교정된 위치 좌표값들이 대용량 기억 장치에 저장되며 그 데이터 구조는 도 19를 참조하여 설명한 것과 동일하다.The error mode selection is to set the type of error to be corrected in the selected frame group. There are three types of errors described above and can be selected individually or all. However, it is usually desirable to select curve fitting at all times, and when curve fitting is selected, it is applied first before compensating for other kinds of errors. In other words, other errors are corrected in the state where the curve fitting is completed. There are two main operating mode choices: one to handle all error corrections automatically, and one to handle each time an error is detected. When operating in the user selection mode, if an error is detected, the user corrects the error using the Calibrate button. After the calibration is completed, movement between segments is done using the Next and Previous buttons. FIG. 23 shows how the three types of errors appear. Even if the trajectory segments of the two objects cross each other, the crossover does not hold when the distance between the two is far apart at a given time. When a crossover occurs and corrections are made, ID numbers that are reversed will be returned. After the error correction process is completed, the corrected position coordinate values are stored in the mass storage device, and the data structure thereof is the same as described with reference to FIG. 19.

편집된 모든 프레임 그룹에 대해서 위치 좌표값의 계산과 에러 보정이 끝나게 되면 모든 영상들을 압축하여 대용량 기억 장치에 저장하는데 필요한 메모리 공간을 절약할 수가 있다. 이미 위치 계산이 완료된 영상들이기 때문에 압축 과정을 거치면서 정보를 잃어 버리더라도 큰 문제가 되지는 않는다. 영상을 압축하여 저장할 때에는 JPEG 이나 MPEG 방법을 사용할 수 있다. 본 발명에서는 MPEG 인코더를 통해서 프레임 그룹에 속한 영상들을 압축한다. 압축된 영상들을 다시 복원하고자 할 경우에는 MPEG 디코더를 사용한다.After calculating the position coordinates and correcting the error for all the edited frame groups, the memory space required for compressing all the images and storing them in the mass storage device can be saved. Since the images have already been computed, it is not a big problem if the information is lost during the compression process. When compressing and storing the video, JPEG or MPEG methods can be used. In the present invention, images belonging to a frame group are compressed through an MPEG encoder. If you want to restore the compressed images again, use the MPEG decoder.

본 발명의 영상 처리 시스템을 통해서 만들어지는 영상과 데이터 구조들은 모두 데이터 베이스 형태로 저장되며 필요할 때마다 원하는 정보를 검색할 수 있다. 축구 경기를 객관적으로 기록하기 위해서 정의한 기초 정보들, 즉 주어진 순간의 모든 개체의 위치 좌표값들과 그 개체들을 기록한 영상 프레임들이 모두 데이터 베이스에 저장된다. 이러한 기초 정보들 이외에 축구 경기에 관련된 기타 정보들을 저장하기 위한 데이터 구조를 정의할 수 있으며 여기에는 다음 표 4에 나타낸 정보들이 포함된다.Images and data structures created by the image processing system of the present invention are all stored in the form of a database and can retrieve desired information whenever necessary. Basic information defined for objectively recording a soccer game, that is, position coordinate values of all objects at a given moment and image frames for recording the objects are all stored in the database. In addition to these basic information, a data structure for storing other information related to a football game can be defined, and the information shown in Table 4 below is included.

데이터 항목Data item 설 명Explanation 경기가 열린 장소The place where the game was held 나라 이름, 도시 이름, 경기장 이름, 그리고 주소를 가리킨다.Points to the country name, city name, stadium name, and address. 경기가 열린 시간The time of the match 경기가 열린 시간을 표준시로 기록한다.The time of the match is recorded in standard time. 지리적인 위치Geographical location 경기가 열린 장소를 위도, 경도, 고도로 표시한다.Indicate the latitude, longitude, and altitude where the competition is held. A 팀의 인적 구성 정보Human Resource Information for Team A 홈팀의 감독과 선수, 코치, 그리고 보조 요원들의 신상 정보가 포함된다.Includes personal information about home team managers, players, coaches and assistants. B 팀의 인적 구성 정보Human Organization Information for Team B 원정팀의 감독과 선수, 코치, 그리고 보조 요원들의 신상 정보가 포함된다.Includes biographical information about the team's manager, players, coaches, and assistants. A 팀 선수의 경기 정보Match information for Team A players 홈팀 선수 개개인마다 경기에 참여한 시간등을 기록한다.Each team player will record the time he or she participated in the match. B 팀 선수의 경기 정보Match information for team B players 원정팀 선수 개개인마다 경기에 참여한 시간등을 기록한다.For each player on the away team, record the time of participation. 경기 결과Game result 홈팀 대 원정팀 간의 경기 결과를 기록한다.Record the result of the match between the home team and the away team. A 팀의 골 정보Team A goal information 홈팀에서 골을 넣은 선수와 그 시간을 기록한다.The player who scored the goal from the home team and the time are recorded. B 팀의 골 정보Team B goal information 원정팀에서 골을 넣은 선수와 그 시간을 기록한다.The player who scored the goal from the away team and the time are recorded. 승부차기 결과Penalty Shootout Results 승부 차기로 승패가 결정되었을 경우 그 결과를 기록한다.If the outcome of the match is determined by penalty shootout, the result is recorded. A 팀의 선수 교체 정보Player A substitution information for Team A 홈팀 선수 중에서 교체된 선수와 퇴장 당한 선수에 대한 정보를 기록한다.Record information about players who have been replaced and dismissed from home team. B 팀의 선수 교체 정보Player substitution information for team B 원정팀 선수 중에서 교체된 선수와 퇴장 당한 선수에 대한 정보를 기록한다.Record information about the away player and the player who is sent off. 경기 ID 번호Match ID Number 해당 경기를 기록한 데이터 베이스의 ID 번호를 기록한다.Record the ID number of the database that recorded the match.

데이터 베이스에 기록된 정보들은 경기의 내용을 분석할 때 사용된다.The information recorded in the database is used to analyze the content of the game.

도 24는 데이터 베이스에 기록된 정보들을 이용하여 내용을 분석하기 위한 사용자 인터페이스의 실시예를 나타낸 도면이다.24 is a diagram illustrating an embodiment of a user interface for analyzing contents by using information recorded in a database.

도시된 바와 같이, 경기 ID 번호와 프레임 그룹을 지정하면 해당 프레임에 대한 기초 정보들을 데이터 베이스로부터 읽어 들인다. 도 24에 나타난 사용자 인터페이스에는 각 개체들의 궤적에 대한 정보가 그래픽으로 표시되고 영상 프레임은 따로 설치된 모니터를 통해서 도시된다. 이때 원하는 개체를 기록한 영상들을 도시하기 위해서 임의의 모니터를 지정할 수가 있다.As shown, specifying the race ID number and the frame group reads basic information about the frame from the database. In the user interface shown in FIG. 24, information on the trajectory of each object is graphically displayed, and an image frame is illustrated through a separately installed monitor. At this time, an arbitrary monitor can be designated in order to show the images recording the desired object.

경기에 대한 정보가 데이터 베이스로부터 로딩이 되면 각 선수들에 대한 정보, 즉 이름, ID 번호, 현재 위치 좌표값 등이 사용자 인터페이스 상에 표시된다.When information about the game is loaded from the database, information about each player, name, ID number, current position coordinate value, etc. is displayed on the user interface.

그래픽 창에 도시되는 궤적은 그 길이를 조절할 수 있으며 세그멘트 설정 에디트 박스를 통하여 지정한다. 재생되는 각 개체들의 궤적은 속도 조절 슬라이드 바를 통해서 그 재생 속도를 조절할 수 있다. 즉, 빠르게 재생하고 싶을 경우에는 속도 조절 슬라이드 바를 움직여서 빠르게 할 수가 있다. 또한, 원하는 부분만을 따로 반복해서 재생하는 것이 가능하며 이를 위해서 시작위치 설정버튼과 종료위치 설정버튼을 사용한다.The trajectory shown in the graphics window can be adjusted in length and specified via the segment settings edit box. The trajectory of each object being played can be controlled by the speed control slide bar. In other words, if you want to play fast, you can move the speed adjustment slide bar to speed it up. In addition, it is possible to repeatedly play only the desired portion separately. For this purpose, the start position setting button and the end position setting button are used.

이 밖에 재생 멈춤 조건을 설정하는 것이 가능한데 이것은 어떤 지정된 선수가 미리 정의된 어떤 영역 안으로 진입하게 될 경우, 그 사실을 검출하여 재생을 멈추는 기능이다. 예를 들어서, 홍길동 선수가 미리 지정된 영역 P 안으로 진입하게 되면 재생이 멈추게 되고 그 시점을 기준으로 자세한 궤적 분석을 하는 것이 가능하다. 이러한 영역 P를 골 영역 근처에 설정하게 되면 상대방의 공격 패턴을 분석한다든가, 아니면 수비 패턴을 분석하는데 용이하게 사용될 수 있다. 그리고, 부분반복 재생기능을 이용하여 원하는 부분을 선택할 수 있으며 이를 따로 저장하는 것도 가능하다.In addition, it is possible to set the playback stop condition. When a designated player enters a predetermined area, it detects the fact and stops playback. For example, if Hong Gil-dong enters the predetermined area P, playback stops and it is possible to perform detailed trajectory analysis based on the point in time. If the area P is set near the goal area, it can be easily used to analyze the attack pattern of the opponent or the defense pattern. In addition, it is possible to select a desired part by using the partial repeat play function and to store it separately.

이상에서는 본 발명의 바람직한 실시예에 대하여 도시하여 설명하였으나, 본 발명은 상기한 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이고, 그와 같은 변경은 기재된 청구범위 내에 있게 된다.In the above described and illustrated with respect to the preferred embodiment of the present invention, the present invention is not limited to the above-described embodiment, the general knowledge in the field of the present invention without departing from the gist of the invention claimed in the claims Anyone with a variety of modifications can be made, as well as such modifications are within the scope of the claims.

이상에서 설명한 바와 같이, 본 발명의 축구경기의 객체정보 영상처리 시스템 및 데이터베이스 구축방법에 의하면, 영상 카메라를 통해서 촬영되는 축구경기의 영상 프레임에서 객체에 속하는 선수들과 공의 위치 좌표값을 추출하여 영상 데이터와 함께 데이터베이스화함으로써, 축구 경기의 객관적인 분석에 활용할 수 있는 효과가 있다.As described above, according to the object information image processing system and database construction method of the soccer game of the present invention, by extracting the position coordinate values of the players and the ball belonging to the object in the video frame of the soccer game photographed through the video camera By the database with the image data, there is an effect that can be used for the objective analysis of the football game.

Claims (8)

경기의 영상을 촬영하여 영상 프레임을 생성하는 영상 카메라(100);An image camera 100 for generating an image frame by capturing an image of a game; 상기 영상 프레임에 나타나는 객체들의 위치 좌표값을 추출하여 상기 영상 프레임과 함께 데이터베이스화하는 영상처리장치(200);An image processing apparatus 200 for extracting position coordinate values of objects appearing in the image frame and making a database together with the image frame; 상기 위치 좌표값과 상기 영상 프레임을 출력하는 모니터(300); 및A monitor 300 for outputting the position coordinate values and the image frame; And 사용자의 제어 명령을 상기 영상처리장치(200)로 전달하는 입력 수단(400)으로 구성되는 것을 특징으로 하는 축구경기의 객체정보 영상처리 시스템.Object information image processing system of a soccer game, characterized in that the input means 400 for transmitting a user's control command to the image processing apparatus (200). 제 1 항에 있어서, 상기 영상처리장치(200)는The image processing apparatus 200 of claim 1, 상기 영상 카메라(100)에 동기 신호를 주어 상기 영상 프레임이 생성되는 시간을 지정하는 동기 펄스 발생기(208);A sync pulse generator (208) for designating a time at which the video frame is generated by giving a sync signal to the video camera (100); 상기 영상 프레임을 저장하는 대용량 데이터 기억장치(205);A mass data storage device 205 for storing the image frame; 상기 영상 프레임에서 실제로 경기가 진행된 부분만을 편집하는 영상프레임 편집기(211);An image frame editor (211) for editing only a portion of the image frame in which a game is actually played; 상기 편집된 영상 프레임으로부터 객체들의 위치 좌표값을 순차적으로 추출하는 패턴 인식 처리기(212);A pattern recognition processor 212 sequentially extracting position coordinate values of objects from the edited image frame; 상기 편집된 영상 프레임을 순차적으로 압축하여 상기 대용량 데이터 기억장치(205)에 저장하는 MPEG 인코더(213);An MPEG encoder (213) for sequentially compressing the edited video frame and storing it in the mass data storage device (205); 상기 압축된 영상 프레임을 복원하는 MPEG 디코더(214);An MPEG decoder (214) for reconstructing the compressed video frame; 상기 복원된 영상 프레임의 그래픽 신호를 발생시키는 그래픽 신호 발생기(206);A graphic signal generator 206 for generating a graphic signal of the reconstructed image frame; 상기 입력 수단(400)으로부터의 제어 명령을 입력받는 사용자 인터페이스(215); 및A user interface 215 for receiving a control command from the input means 400; And 상기 제어 명령을 제어하여 상기 영상프레임 편집기(211)와, 상기 패턴 인식 처리기(212)와, 상기 MPEG 인코더(213) 및 상기 MPEG 디코더(214)로 전달하는 제어기(216)로 구성되는 것을 특징으로 하는 축구경기의 객체정보 영상처리 시스템.And a controller 216 for controlling the control command and transferring the image frame editor 211, the pattern recognition processor 212, and the MPEG encoder 213 and the MPEG decoder 214. Object information image processing system of a soccer game. 제 2 항에 있어서,The method of claim 2, 상기 편집된 영상 프레임의 압축과 복원 과정에 발생하는 파라미터들을 임시로 저장하는 모션 파라미터 기억장치(210)를 포함하는 것을 특징으로 하는 축구경기의 객체정보 영상처리 시스템.And a motion parameter memory (210) for temporarily storing parameters generated during compression and decompression of the edited video frame. 실제로 경기가 진행된 부분만 영상프레임 편집기(110)에 의해 추출되어 편집된 영상 프레임이 대용량 데이터 기억장치(205)에 저장되는 단계(S10);A step in which only a portion of the game actually being played is extracted by the image frame editor 110 and the edited image frame is stored in the mass data storage device 205 (S10); 상기 편집된 영상 프레임을 상기 대용량 데이터 기억장치(205)로부터 읽어와 해상도를 설정하는 단계(S20);Reading the edited image frame from the mass data storage device 205 and setting a resolution (S20); 상기 편집된 영상 프레임에서 객체들의 위치 좌표값이 패턴인식 처리기(212)에 의해 순차적으로 추출되어 결정되는 단계(S30);Determining, by the pattern recognition processor 212, position coordinate values of objects in the edited image frame to be sequentially extracted (S30); 상기 객체들의 위치 좌표값의 에러 발생 여부가 판단되는 단계(S40);Determining whether an error of position coordinate values of the objects occurs (S40); 에러가 발생되지 않은 경우, 상기 편집된 영상 프레임이 마지막 프레임인지의 여부가 판단되는 단계(S60);If an error does not occur, determining whether the edited video frame is the last frame (S60); 상기 편집된 영상 프레임이 마지막 프레임인 경우, 에러가 발생되지 않은 상기 편집된 영상 프레임을 상기 대용량 데이터 기억장치(205)로부터 읽어오는 단계(S70);If the edited video frame is the last frame, reading the edited video frame in which no error occurs from the mass data storage device (205) (S70); 상기 편집된 영상 프레임이 MPEG 인코더(213)에 의해 압축되어 상기 대용량 데이터 기억장치(205)에 저장되는 단계(S80);The edited video frame is compressed by an MPEG encoder (213) and stored in the mass data storage device (205) (S80); 상기 대용량 데이터 기억장치(205)에 압축되어 저장되는 상기 편집된 영상 프레임이 마지막 프레임인지의 여부가 판단되는 단계(S90); 및Determining whether the edited video frame compressed and stored in the mass data storage device 205 is the last frame (S90); And 압축되어 저장되는 상기 영상 프레임이 마지막 프레임인 경우, 상기 객체들의 위치 좌표값과 상기 압축된 영상 프레임이 데이터베이스 형태로 상기 대용량 데이터 기억장치(205)에 저장되는 단계(S100)로 이루어지는 것을 특징으로 하는 축구경기의 객체정보 영상처리 데이터베이스 구축방법.If the image frame to be compressed and stored is the last frame, step S100 of storing the position coordinate values of the objects and the compressed image frame in the mass data storage device 205 in a database form. An object information image processing database construction method for soccer game. 제 4 항에 있어서,The method of claim 4, wherein 상기 객체들의 위치 좌표값의 에러 발생 여부가 판단되는 단계(S40)에서 에러가 발생된 경우, 사용자 인터페이스(215)를 통해 보정하는 단계(S50)를 포함하는 것을 특징으로 하는 축구경기의 객체정보 영상처리 데이터베이스 구축방법.If an error occurs in step S40 of determining whether an error occurs in the position coordinate values of the objects, correcting through the user interface 215 (S50), the object information image of a soccer game How to build a processing database. 제 4 항에 있어서, 상기 영상프레임 편집기(110)에 의해 실제로 경기가 진행된 부분만 추출되어 편집된 영상 프레임이 대용량 데이터 기억장치(205)에 저장되는 단계(S10)는5. The method of claim 4, wherein only the portion of the game that is actually played by the image frame editor 110 is extracted and the edited image frame is stored in the mass data storage device 205 (S10). 기준 카메라 영상을 재생하여 경기의 시작점에 해당하는 영상 프레임을 검색 설정하는 단계(S11);Retrieving and setting an image frame corresponding to a start point of a game by playing the reference camera image (S11); 상기 재생되는 경기의 종료점에 해당하는 영상 프레임을 검색 설정하는 단계(S12);Searching and setting an image frame corresponding to an end point of the played game (S12); 상기 시작점에 해당하는 영상 프레임을 중심으로 연속된 몇개의 전, 후 영상 프레임을 모니터(300)의 좌측부에 표시하는 단계(S13);Displaying a plurality of consecutive front and rear image frames on the left side of the monitor 300 centering on the image frame corresponding to the starting point (S13); 동기를 맞추고자 하는 카메라의 영상을 검색하여 상기 기준 카메라의 시작점에 해당하는 영상 프레임과 근접한 영상 프레임을 설정하는 단계(S14);Setting an image frame close to an image frame corresponding to a starting point of the reference camera by searching for an image of a camera to be synchronized (S14); 상기 기준 카메라의 시작점에 해당하는 영상 프레임과 근접한 영상 프레임을 중심으로 연속된 몇개의 전, 후 영상 프레임을 상기 모니터(300)의 우측부에 표시하는 단계(S15);Displaying a plurality of consecutive front and rear image frames on the right side of the monitor (300) around the image frame close to the image frame corresponding to the start point of the reference camera (S15); 상기 기준 카메라의 시작점에 해당하는 영상 프레임과 가장 근접한 순간을 나타내는 영상 프레임이 선택되었는지 확인하는 단계(S16);Checking whether an image frame indicating a moment closest to the image frame corresponding to the starting point of the reference camera is selected (S16); 상기 기준 카메라의 시작점에 해당하는 영상 프레임과 가장 근접한 순간을 나타내는 영상 프레임인지의 여부를 판단하는 단계(S17); 및Determining whether the image frame represents a moment closest to the image frame corresponding to the starting point of the reference camera (S17); And 가장 근접한 순간을 나타내는 영상 프레임인 경우, 동기를 맞추고자 하는 카메라의 영상에 대해서 동기 설정을 선택하는 단계(S18)로 이루어지는 것을 특징으로 하는 축구경기의 객체정보 영상처리 데이터베이스 구축방법.In the case of the image frame indicating the closest moment, the step (S18) of selecting a synchronization setting for the image of the camera to be synchronized, characterized in that the object information image processing database construction method of a soccer game. 제 6 항에 있어서,The method of claim 6, 상기 기준 카메라의 시작점에 해당하는 영상 프레임과 가장 근접한 순간을 나타내는 영상 프레임인지의 여부를 판단하는 단계(S17)에서 가장 근접한 순간을 나타내는 영상 프레임이 아닌 경우, 상기 동기를 맞추고자 하는 카메라의 영상을 전,후로 이동하여 가장 근접한 순간을 나타내는 영상 프레임을 검색하는 단계(S19)를 포함하는 것을 특징으로 하는 축구경기의 객체정보 영상처리 데이터베이스 구축방법.If it is not an image frame indicating the closest moment in step S17, it is determined whether the image frame indicates the moment closest to the image frame corresponding to the start point of the reference camera. And (S19) retrieving an image frame representing the closest moment by moving back and forth. 제 4 항에 있어서,The method of claim 4, wherein 상기 편집된 영상 프레임을 상기 대용량 데이터 기억장치(205)로부터 읽어와 해상도를 설정하는 단계(S20)에서 상기 해상도는 경기장의 윤곽선을 추출한 후, 기준선 높이를 설정하여 해상도를 계산함에 의해 설정됨을 특징으로 하는 축구경기의 객체정보 영상처리 데이터베이스 구축방법.In the step S20 of reading the edited image frame from the mass data storage device 205 and setting the resolution, the resolution is set by extracting the contour of the playing field and setting the baseline height to calculate the resolution. An object information image processing database construction method for a soccer game.
KR1020020005000A 2002-01-29 2002-01-29 Image processing system and database building method for the object information of soccer game KR20030064928A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020020005000A KR20030064928A (en) 2002-01-29 2002-01-29 Image processing system and database building method for the object information of soccer game

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020020005000A KR20030064928A (en) 2002-01-29 2002-01-29 Image processing system and database building method for the object information of soccer game

Publications (1)

Publication Number Publication Date
KR20030064928A true KR20030064928A (en) 2003-08-06

Family

ID=32219693

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020005000A KR20030064928A (en) 2002-01-29 2002-01-29 Image processing system and database building method for the object information of soccer game

Country Status (1)

Country Link
KR (1) KR20030064928A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100062056A (en) * 2008-12-01 2010-06-10 덕성여자대학교 산학협력단 A system for recording and analyzing of soccer game
KR102449925B1 (en) * 2021-11-15 2022-09-30 주식회사 스톤브릿지코퍼레이션 Real time sports game analysis method using position tracking of game players and the system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06319843A (en) * 1993-05-14 1994-11-22 Kuriputon:Kk Method for constructing data base of soccer game
EP0847201A1 (en) * 1996-12-06 1998-06-10 Antoine David Real time tracking system for moving bodies on a sports field
JPH10276351A (en) * 1997-03-31 1998-10-13 Mitsubishi Electric Corp Sports completition display device
KR20000064088A (en) * 2000-08-21 2000-11-06 주진용 Analysis Broadcasting System And Method Of Sports Image
KR20020078707A (en) * 2001-04-09 2002-10-19 (주)버추얼미디어 An Apparatus and Method for Automatic Extraction of Statistical Information from Sports Video

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06319843A (en) * 1993-05-14 1994-11-22 Kuriputon:Kk Method for constructing data base of soccer game
EP0847201A1 (en) * 1996-12-06 1998-06-10 Antoine David Real time tracking system for moving bodies on a sports field
JPH10276351A (en) * 1997-03-31 1998-10-13 Mitsubishi Electric Corp Sports completition display device
KR20000064088A (en) * 2000-08-21 2000-11-06 주진용 Analysis Broadcasting System And Method Of Sports Image
KR20020078707A (en) * 2001-04-09 2002-10-19 (주)버추얼미디어 An Apparatus and Method for Automatic Extraction of Statistical Information from Sports Video

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100062056A (en) * 2008-12-01 2010-06-10 덕성여자대학교 산학협력단 A system for recording and analyzing of soccer game
KR102449925B1 (en) * 2021-11-15 2022-09-30 주식회사 스톤브릿지코퍼레이션 Real time sports game analysis method using position tracking of game players and the system

Similar Documents

Publication Publication Date Title
JP7132730B2 (en) Information processing device and information processing method
JP7030452B2 (en) Information processing equipment, information processing device control methods, information processing systems and programs
EP3127321B1 (en) Method and system for automatic television production
US7341530B2 (en) Virtual strike zone
EP1366466B1 (en) Sport analysis system and method
JP2009505553A (en) System and method for managing the insertion of visual effects into a video stream
JP2020086983A (en) Image processing device, image processing method, and program
US9154710B2 (en) Automatic camera identification from a multi-camera video stream
WO2016139898A1 (en) Video processing apparatus, video processing system and video processing method
JPH11507796A (en) System and method for inserting still and moving images during live television broadcasting
JPH06105231A (en) Picture synthesis device
US20240104793A1 (en) Adding augmented reality to a sub-view of a high resolution central video feed
KR20030064928A (en) Image processing system and database building method for the object information of soccer game
JP2008005204A (en) Video section determining device, method, and program
JP5687670B2 (en) Display control system, game system, display control device, and program
EP3836012B1 (en) A device, computer program and method for determining handball performed by a player
US20060007300A1 (en) Method of obtaining a succession of images in the form of a circling effect
JP7437652B2 (en) Ball game video analysis device, ball game video analysis system, ball game video analysis method, and computer program
JP7476160B2 (en) Information processing device, information processing system, and program
KR101911528B1 (en) Method and system for generating motion data of moving object in viedo
JP7429887B2 (en) Ball game video analysis device, ball game video analysis method, and computer program
JP7289630B2 (en) Image processing device
US20230085988A1 (en) System and method of capturing and transmitting data from a wearable electronic device
US20230291883A1 (en) Image processing system, image processing method, and storage medium
JP6411991B2 (en) Image processing apparatus, image processing method, and image processing program

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application