/// <summary>
        /// 画面を更新する
        /// TODO : coordinatemapperを使うように変更(3月)
        /// </summary>
        /// <param name="frame"></param>
        private void UpdateDisplay(Frame frame)
        {
            Label[]        timeLabels = { Box1Timer, Box2Timer, Box3Timer, Box4Timer, Box5Timer };
            Image[]        images     = { Image1, Image2, Image3, Image4, Image5 };
            DrawingGroup[] drawings   = { drawingGroup1, drawingGroup2, drawingGroup3, drawingGroup4, drawingGroup5 };
            // 使い回しの変数
            List <Dictionary <JointType, Point> > pointsList;
            List <Dictionary <JointType, Joint> > jointsList;
            List <Tuple <ulong, Point> >          idPointList;
            FormattedText fmt;

            for (int recordNo = 0; recordNo < frameSequence.recordNum; recordNo++)
            {
                images[recordNo].Source      = new BitmapImage(new Uri(frame.ColorImagePathList[recordNo]));
                timeLabels[recordNo].Content = frame.GetMotionData(recordNo).TimeStamp.ToString(@"ss\:fff");

                // 描画
                using (DrawingContext dc = drawings[recordNo].Open())
                {
                    CvSize colorSize = frame.ColorSize[recordNo];
                    dc.DrawRectangle(Brushes.Transparent, null, new Rect(0.0, 0.0, colorSize.Width, colorSize.Height));
                    pointsList  = frame.GetBodyColorSpaceJoints(recordNo);
                    jointsList  = frame.GetBodyJoints(recordNo);
                    idPointList = frame.GetIdAndPosition(recordNo);

                    for (int user = 0; user < pointsList.Count(); user++)
                    {
                        // Bodyの描画
                        if (pointsList[user] != null && jointsList[user] != null)
                        {
                            this.DrawBody(pointsList[user], jointsList[user], dc);
                        }
                        // user id の描画
                        if (idPointList[user] != null)
                        {
                            ulong  userId = idPointList[user].Item1;
                            string text   = userId.ToString();
                            if (frameSequence.UserMapping.ContainsKey(userId))
                            {
                                text = frameSequence.UserMapping[userId].ToString();
                            }
                            // TODO: 縁取りテキスト, http://gushwell.ldblog.jp/archives/52312432.html
                            fmt = new FormattedText(text,
                                                    System.Globalization.CultureInfo.CurrentCulture,
                                                    System.Windows.FlowDirection.LeftToRight,
                                                    new Typeface("Arial"), 50.0, Brushes.Cyan
                                                    );
                            dc.DrawText(fmt, idPointList[user].Item2);
                        }
                    }
                    drawings[recordNo].ClipGeometry = new RectangleGeometry(new Rect(0.0, 0.0, colorSize.Width, colorSize.Height));
                }
            }
            // スライダーとか時間表示
            this.PlaySlider.Value  = this.playingIndex;
            this.TimeLabel.Content = frame.Time.ToString(frame.Time.ToString(@"mm\:ss\:fff"));
        }
        /// <summary>
        /// 画面を更新する
        /// TODO : coordinatemapperを使うように変更(3月)
        /// </summary>
        /// <param name="frame"></param>
        private void UpdateDisplay(Frame frame)
        {
            Label[] timeLabels = { Box1Timer, Box2Timer, Box3Timer, Box4Timer, Box5Timer };
            Image[] images = { Image1, Image2, Image3, Image4, Image5 };
            DrawingGroup[] drawings = { drawingGroup1, drawingGroup2, drawingGroup3, drawingGroup4, drawingGroup5 };
            // 使い回しの変数
            List<Dictionary<JointType, Point>> pointsList;
            List<Dictionary<JointType, Joint>> jointsList;
            List<Tuple<ulong, Point>> idPointList;
            FormattedText fmt;

            for (int recordNo = 0; recordNo < frameSequence.recordNum; recordNo++)
            {
                images[recordNo].Source = new BitmapImage(new Uri(frame.ColorImagePathList[recordNo]));
                timeLabels[recordNo].Content = frame.GetMotionData(recordNo).TimeStamp.ToString(@"ss\:fff");

                // 描画
                using (DrawingContext dc = drawings[recordNo].Open())
                {
                    CvSize colorSize = frame.ColorSize[recordNo];
                    dc.DrawRectangle(Brushes.Transparent, null, new Rect(0.0, 0.0, colorSize.Width, colorSize.Height));
                    pointsList = frame.GetBodyColorSpaceJoints(recordNo);
                    jointsList = frame.GetBodyJoints(recordNo);
                    idPointList = frame.GetIdAndPosition(recordNo);

                    for (int user = 0; user < pointsList.Count(); user++)
                    {
                        // Bodyの描画
                        if (pointsList[user] != null && jointsList[user] != null)
                            this.DrawBody(pointsList[user], jointsList[user], dc);
                        // user id の描画
                        if (idPointList[user] != null)
                        {
                            ulong userId = idPointList[user].Item1;
                            string text = userId.ToString();
                            if (frameSequence.UserMapping.ContainsKey(userId))
                            {
                                text = frameSequence.UserMapping[userId].ToString();
                            }
                            // TODO: 縁取りテキスト, http://gushwell.ldblog.jp/archives/52312432.html
                            fmt = new FormattedText(text,
                                System.Globalization.CultureInfo.CurrentCulture,
                                System.Windows.FlowDirection.LeftToRight,
                                new Typeface("Arial"), 50.0, Brushes.Cyan
                                );
                            dc.DrawText(fmt, idPointList[user].Item2);
                        }
                    }
                    drawings[recordNo].ClipGeometry = new RectangleGeometry(new Rect(0.0, 0.0, colorSize.Width, colorSize.Height));
                }
            }
            // スライダーとか時間表示
            this.PlaySlider.Value = this.playingIndex;
            this.TimeLabel.Content = frame.Time.ToString(frame.Time.ToString(@"mm\:ss\:fff"));
        }